成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

數(shù)組去重方法小結(jié)

張巨偉 / 3541人閱讀

摘要:最基本的去重方法思路定義一個(gè)新數(shù)組,并存放原數(shù)組的第一個(gè)元素,然后將元素組一一和新數(shù)組的元素對(duì)比,若不同則存放在新數(shù)組中。利用將結(jié)構(gòu)轉(zhuǎn)換成數(shù)組拓展運(yùn)算符內(nèi)部使用循環(huán)方法思路方法將傳入的數(shù)組或非數(shù)組值與原數(shù)組合并組成一個(gè)新的數(shù)組并返回。

1.最基本的去重方法

思路:定義一個(gè)新數(shù)組,并存放原數(shù)組的第一個(gè)元素,然后將元素組一一和新數(shù)組的元素對(duì)比,若不同則存放在新數(shù)組中。

function unique(arr){

  var res = [arr[0]];

  for(var i=1;i

    var repeat = false;

    for(var j=0;j

      if(arr[i] == res[j]){

        repeat = true;

        break;

      }

    }

    if(!repeat){

      res.push(arr[i]);

    }

  }

  return res;

}

2.先排序在去重

思路:先將原數(shù)組排序,在與相鄰的進(jìn)行比較,如果不同則存入新數(shù)組

function unique(arr){

  var arr2 = arr.sort();

  var res = [arr2[0]];

  for(var i=1;i

    if(arr2[i] !== res[res.length-1]){

      res.push(arr2[i]);

    }

  }

  return res;

}

3.利用對(duì)象的屬性去重(推薦)

思路:每次取出原數(shù)組的元素,然后再對(duì)象中訪問(wèn)這個(gè)屬性,如果存在就說(shuō)明重復(fù)

function unique(arr){

  var res =[];

  var json = {};

  for(var i=0;i

    if(!json[arr[i]]){

      res.push(arr[i]);

      json[arr[i]] = 1;

    }

  }

  return res;

}

4.利用下標(biāo)查詢

function unique(arr){
  var newArr = [arr[0]];
   for(var i=1;i    if(newArr.indexOf(arr[i]) == -1){

         newArr.push(arr[i]);
    }
    }
    return newArr;    }

5.利用es6

Set數(shù)據(jù)結(jié)構(gòu),它類似于數(shù)組,其成員的值都是唯一的。 利用Array.from將Set結(jié)構(gòu)轉(zhuǎn)換成數(shù)組

function dedupe(array){ return Array.from(new Set(array)); }
dedupe([1,1,2,3]) //[1,2,3] 拓展運(yùn)算符(...)內(nèi)部使用for...of循環(huán)

let arr = [1,2,3,3]; let resultarr = [...new Set(arr)];
console.log(resultarr); //[1,2,3]

6.concat()方法

思路:concat() 方法將傳入的數(shù)組或非數(shù)組值與原數(shù)組合并,組成一個(gè)新的數(shù)組并返回。該方法會(huì)產(chǎn)生一個(gè)新的數(shù)組。

function concatArr(arr1, arr2){
var arr = arr1.concat(arr2);
arr = unique1(arr);//再引用上面的任意一個(gè)去重方法
return arr;
}

7.Array.prototype.push.apply()

思路:該方法優(yōu)點(diǎn)是不會(huì)產(chǎn)生一個(gè)新的數(shù)組。

var a = [1, 2, 3]; var b = [4, 5, 6]; Array.prototype.push.apply(a,
b);
//a=[1,2,3,4,5,6] //等效于:a.push.apply(a, b); //也等效于[].push.apply(a,
b);
function concatArray(arr1,arr2){
Array.prototype.push.apply(arr1, arr2);
arr1 = unique1(arr1);
return arr1;
}

8.arr.filter()

var arr = [0,0,1,"a",1,2,"b","a","a"];
var res = arr.filter(function(ele,index,array){
    return index === array.indexOf(ele);
});
document.write(res);

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/108129.html

相關(guān)文章

  • JS數(shù)組去重方法小結(jié)

    摘要:數(shù)組去重看了網(wǎng)上很多數(shù)組去重方法,用的比較常見(jiàn)的大概就幾種,今天想自己來(lái)做一個(gè)總結(jié)。還有就是方法返回的數(shù)組也是排序后的數(shù)組,某些情況下可能不符合要求。 JS數(shù)組去重 看了網(wǎng)上很多數(shù)組去重方法,用的比較常見(jiàn)的大概就幾種,今天想自己來(lái)做一個(gè)總結(jié)。部分內(nèi)容參考該博客 1 . 在原數(shù)組上操作(基本方法) 思路:利用循環(huán)嵌套,判斷數(shù)組中每個(gè)元素與其后面的元素是否相等,如果相等,就使用spli...

    PascalXie 評(píng)論0 收藏0
  • 數(shù)組去重方法小結(jié)

    摘要:最基本的去重方法思路定義一個(gè)新數(shù)組,并存放原數(shù)組的第一個(gè)元素,然后將元素組一一和新數(shù)組的元素對(duì)比,若不同則存放在新數(shù)組中。利用將結(jié)構(gòu)轉(zhuǎn)換成數(shù)組拓展運(yùn)算符內(nèi)部使用循環(huán)方法思路方法將傳入的數(shù)組或非數(shù)組值與原數(shù)組合并組成一個(gè)新的數(shù)組并返回。 1.最基本的去重方法 思路:定義一個(gè)新數(shù)組,并存放原數(shù)組的第一個(gè)元素,然后將元素組一一和新數(shù)組的元素對(duì)比,若不同則存放在新數(shù)組中。 function u...

    williamwen1986 評(píng)論0 收藏0
  • 數(shù)組去重方法小結(jié)

    摘要:最基本的去重方法思路定義一個(gè)新數(shù)組,并存放原數(shù)組的第一個(gè)元素,然后將元素組一一和新數(shù)組的元素對(duì)比,若不同則存放在新數(shù)組中。利用將結(jié)構(gòu)轉(zhuǎn)換成數(shù)組拓展運(yùn)算符內(nèi)部使用循環(huán)方法思路方法將傳入的數(shù)組或非數(shù)組值與原數(shù)組合并組成一個(gè)新的數(shù)組并返回。 1.最基本的去重方法 思路:定義一個(gè)新數(shù)組,并存放原數(shù)組的第一個(gè)元素,然后將元素組一一和新數(shù)組的元素對(duì)比,若不同則存放在新數(shù)組中。 function u...

    testHs 評(píng)論0 收藏0
  • 去重方法小結(jié)

    摘要:最基本的去重方法思路定義一個(gè)新數(shù)組,并存放原數(shù)組的第一個(gè)元素,然后將元素組一一和新數(shù)組的元素對(duì)比,若不同則存放在新數(shù)組中。再引用上面的任意一個(gè)去重方法思路該方法優(yōu)點(diǎn)是不會(huì)產(chǎn)生一個(gè)新的數(shù)組。 1.最基本的去重方法 思路:定義一個(gè)新數(shù)組,并存放原數(shù)組的第一個(gè)元素,然后將元素組一一和新數(shù)組的元素對(duì)比,若不同則存放在新數(shù)組中。 function unique(arr){   var res ...

    yanest 評(píng)論0 收藏0
  • 去重方法小結(jié)

    摘要:最基本的去重方法思路定義一個(gè)新數(shù)組,并存放原數(shù)組的第一個(gè)元素,然后將元素組一一和新數(shù)組的元素對(duì)比,若不同則存放在新數(shù)組中。再引用上面的任意一個(gè)去重方法思路該方法優(yōu)點(diǎn)是不會(huì)產(chǎn)生一個(gè)新的數(shù)組。 1.最基本的去重方法 思路:定義一個(gè)新數(shù)組,并存放原數(shù)組的第一個(gè)元素,然后將元素組一一和新數(shù)組的元素對(duì)比,若不同則存放在新數(shù)組中。 function unique(arr){   var res ...

    n7then 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<