摘要:最基本的去重方法思路定義一個新數(shù)組,并存放原數(shù)組的第一個元素,然后將元素組一一和新數(shù)組的元素對比,若不同則存放在新數(shù)組中。再引用上面的任意一個去重方法思路該方法優(yōu)點(diǎn)是不會產(chǎn)生一個新的數(shù)組。
1.最基本的去重方法
思路:定義一個新數(shù)組,并存放原數(shù)組的第一個元素,然后將元素組一一和新數(shù)組的元素對比,若不同則存放在新數(shù)組中。
function unique(arr){ var res = [arr[0]]; for(var i=1;i2.先排序在去重
思路:先將原數(shù)組排序,在與相鄰的進(jìn)行比較,如果不同則存入新數(shù)組function unique(arr){ var arr2 = arr.sort(); var res = [arr2[0]]; for(var i=1;i3.利用對象的屬性去重(推薦)
思路:每次取出原數(shù)組的元素,然后再對象中訪問這個屬性,如果存在就說明重復(fù)function unique(arr){ var res =[]; var json = {}; for(var i=0;i4.利用下標(biāo)查詢
function unique(arr){ var newArr = [arr[0]]; for(var i=1;i5.利用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ù)組合并,組成一個新的數(shù)組并返回。該方法會產(chǎn)生一個新的數(shù)組。function concatArr(arr1, arr2){ var arr = arr1.concat(arr2); arr = unique1(arr);//再引用上面的任意一個去重方法 return arr; }7.Array.prototype.push.apply()
思路:該方法優(yōu)點(diǎn)是不會產(chǎn)生一個新的數(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)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/114012.html
摘要:數(shù)組去重看了網(wǎng)上很多數(shù)組去重方法,用的比較常見的大概就幾種,今天想自己來做一個總結(jié)。還有就是方法返回的數(shù)組也是排序后的數(shù)組,某些情況下可能不符合要求。 JS數(shù)組去重 看了網(wǎng)上很多數(shù)組去重方法,用的比較常見的大概就幾種,今天想自己來做一個總結(jié)。部分內(nèi)容參考該博客 1 . 在原數(shù)組上操作(基本方法) 思路:利用循環(huán)嵌套,判斷數(shù)組中每個元素與其后面的元素是否相等,如果相等,就使用spli...
摘要:最基本的去重方法思路定義一個新數(shù)組,并存放原數(shù)組的第一個元素,然后將元素組一一和新數(shù)組的元素對比,若不同則存放在新數(shù)組中。利用將結(jié)構(gòu)轉(zhuǎn)換成數(shù)組拓展運(yùn)算符內(nèi)部使用循環(huán)方法思路方法將傳入的數(shù)組或非數(shù)組值與原數(shù)組合并組成一個新的數(shù)組并返回。 1.最基本的去重方法 思路:定義一個新數(shù)組,并存放原數(shù)組的第一個元素,然后將元素組一一和新數(shù)組的元素對比,若不同則存放在新數(shù)組中。 function u...
摘要:最基本的去重方法思路定義一個新數(shù)組,并存放原數(shù)組的第一個元素,然后將元素組一一和新數(shù)組的元素對比,若不同則存放在新數(shù)組中。再引用上面的任意一個去重方法思路該方法優(yōu)點(diǎn)是不會產(chǎn)生一個新的數(shù)組。 1.最基本的去重方法 思路:定義一個新數(shù)組,并存放原數(shù)組的第一個元素,然后將元素組一一和新數(shù)組的元素對比,若不同則存放在新數(shù)組中。 function unique(arr){ var res ...
摘要:最基本的去重方法思路定義一個新數(shù)組,并存放原數(shù)組的第一個元素,然后將元素組一一和新數(shù)組的元素對比,若不同則存放在新數(shù)組中。利用將結(jié)構(gòu)轉(zhuǎn)換成數(shù)組拓展運(yùn)算符內(nèi)部使用循環(huán)方法思路方法將傳入的數(shù)組或非數(shù)組值與原數(shù)組合并組成一個新的數(shù)組并返回。 1.最基本的去重方法 思路:定義一個新數(shù)組,并存放原數(shù)組的第一個元素,然后將元素組一一和新數(shù)組的元素對比,若不同則存放在新數(shù)組中。 function u...
摘要:最基本的去重方法思路定義一個新數(shù)組,并存放原數(shù)組的第一個元素,然后將元素組一一和新數(shù)組的元素對比,若不同則存放在新數(shù)組中。利用將結(jié)構(gòu)轉(zhuǎn)換成數(shù)組拓展運(yùn)算符內(nèi)部使用循環(huán)方法思路方法將傳入的數(shù)組或非數(shù)組值與原數(shù)組合并組成一個新的數(shù)組并返回。 1.最基本的去重方法 思路:定義一個新數(shù)組,并存放原數(shù)組的第一個元素,然后將元素組一一和新數(shù)組的元素對比,若不同則存放在新數(shù)組中。 function u...
閱讀 3401·2021-09-22 15:17
閱讀 2752·2021-09-02 15:15
閱讀 1784·2019-08-30 15:54
閱讀 2013·2019-08-30 14:02
閱讀 2540·2019-08-29 16:58
閱讀 2999·2019-08-29 16:08
閱讀 1341·2019-08-26 12:24
閱讀 1666·2019-08-26 10:41