整理数组去重与数组排序等方法

实用且比较简单的数组排序与数组去重的方法,也较好理解;

1、数组冒泡排序:

var arr=["a",3,5,2,1,4,2,3,3,3,5,5,5,4];

function sort(arr){
    //让数组中的元素俩俩进行比较,实现替换;
    for (var i = 0; i< arr.length; i++) {
        for (var j = 0; j < arr.length; j++) {
            if (arr[j] > arr[j + 1]) {
                 var temp = arr[j];
                  arr[j] = arr[j + 1];
                   arr[j + 1] = temp;
                }
            }
         }
         return arr;
}
console.log(sort(arr));

  2、数组去重:最简单的去重方法;

先创建一个新的数组来存储数据,利用es5中的indexOf方法在新的数组中寻找重复项,如果没有就添加到新的数组中,

var arr=["a",3,5,2,1,4,2,3,3,3,"a",5,5,5,4];
var arr1=[];
for(var i=0;i<arr.length;i++){
    if(arr1.indexOf(arr[i])==-1) arr1.push(arr[i]);
}
console.log(arr1);

 这俩个方法比较简单,第一个还可以在做优化,代码如下:

var arr=["a",3,5,2,1,4,2,3,3,3,5,5,5,4];

function sort(arr){
    //让数组中的元素俩俩进行比较,实现替换;
    for (var i = 0; i< arr.length-1; i++) {
        for (var j = 0; j < arr.length-1-i; j++) {
            if (arr[j] > arr[j + 1]) {
                 var temp = arr[j];
                  arr[j] = arr[j + 1];
                   arr[j + 1] = temp;
                }
            }
         }
         return arr;
}
console.log(sort(arr));

  这样优化使循环次数减少一半

时间: 2024-10-10 16:59:09

整理数组去重与数组排序等方法的相关文章

js中数组去重的几种方法

js中数组去重的几种方法         1.遍历数组,一一比较,比较到相同的就删除后面的                 function unique(arr){                         for(var i=0;i<arr.length;i++){                                 for(var j=i+1;j<arr.length;j++){                                         if(ar

Javascript数组去重的几种方法

Javascript数组去重的几种方法 新建空数组,通过for...of(ES6)循环遍历,通过indexOf判断元素是否在新数组中存在,将不存在的(indexOf(n)==-1)元素push到新数组中: let arr = [1,1,2,2,3,6,3,77,88,5,98,9,7,2,7,5,3,4,2]; function removeDup_indexOf(originalArr){ let newArr = []; for(n of originalArr){ if(newArr.in

整理数组去重的几种常用方法

最近面试有一个面试题,要求尽可能多的列举数组去重的方法,现整理一下 1.最简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ function uniq(array){ var temp = []; //一个新的临时数组 for(var i = 0; i < array.length; i++){ if(temp.indexOf(array[i]) == -1){ temp.pu

js实现数组去重的三个方法、数组的快速排序

一:数组去重方法1 (思路:新建一个空的result数组,将需要去重的数组中的第一个元素传入,依次与剩余的元素进行对比,不重复则把元素传入到result数组中.) Array.prototype.removeDup = function(){ var result = [this[0]]; for(var i = 1 ; i<this.length; i++){ var repeat = false; for(var j = 0; j<result.length;j++){ if(this[i

数组去重的几个方法

1.遍历数组法 它是最简单的数组去重方法(indexOf方法) 实现思路:新建一个数组,遍历去要重的数组,当值不在新数组的时候(indexOf为-1)就加入该新数组中: var arr=[2,8,5,0,5,2,6,7,2];function unique1(arr){ var hash=[]; for (var i = 0; i < arr.length; i++) { if(hash.indexOf(arr[i])==-1){ hash.push(arr[i]); } } return ha

数组去重的几种方法

JS数组去重的几种常见方法 JS数组去重的几种常见方法 一.简单的去重方法 // 最简单数组去重法 /* * 新建一新数组,遍历传入数组,值不在新数组就push进该新数组中 * IE8以下不支持数组的indexOf方法 * */ function uniq(array){ var temp = []; //一个新的临时数组 for(var i = 0; i < array.length; i++){ if(temp.indexOf(array[i]) == -1){ temp.push(arra

javascript数组去重的三种常用方法,及其性能比较

在进行数组操作时往往会遇到去掉重复项的问题,下面简单介绍下数组去重的方法,以及其执行效率 方法一        采用两次循环        原理:拿当前的和他后面的比,如果后面的有重复的就干掉        但是我们发现数组最后一项,后面没有东西,那他就不用和后边的比较了,所以我们只要循环arr.length-1次就可以了 1 var arr=[1,3,5,3,5]; 2 3 var len=arr.length; 4 for(var i=0;i<len-1;i++){ 5 var curIte

JavaScript数组去重的四种方法

今天,洗澡的想一个有趣的问题,使用js给数组去重,我想了四种方法,虽然今天的任务没有完成,5555: 不多说,po代码: //方法一:简单循环去重    Array.prototype.unique1 = function(){                var temp = [];        for(var i=0; i < this.length; i++){            if(temp.indexOf(this[i]) == -1){                tem

js数组去重的三种常用方法

第一种是比较常规的方法 思路: 1.构建一个新的数组存放结果 2.for循环中每次从原数组中取出一个元素,用这个元素循环与结果数组对比 3.若结果数组中没有该元素,则存到结果数组中 代码如下: Array.prototype.unique1 = function(){ var res = [this[0]]; for(var i = 1; i < this.length; i++){  var repeat = false;  for(var j = 0; j < res.length; j+