比較常用的陣列去重以及分析

2021-09-24 07:29:13 字數 1125 閱讀 6663

####1.0 陣列去重 (1)第一種方法

//思路:迴圈原陣列獲取陣列中的每一項(for,for..of,foreach,map),將每一項往新陣列中,但是,放之前需要判斷一下,只有新陣列中沒有這一項才把這一項放進去

let ary=[1,22,13,14,1,2,12,13,14,1,1,0,5,3,2]

let arr=;

第一種形式:for(let i=0;iif(!arr.includes(ary[i]))

};第二種形式:

for(let item of ary)

}第三種形式:

ary.foreach(function(item)

})console.log(arr);

複製**

#####第二種方法

//思路:遍歷陣列的每一項,看這一項之前有沒有相同的(每一次遍歷都可以拿到它的索引index,只要需要看0-index組成的陣列有沒有這項)

let ary=[1,22,13,14,1,2,12,13,14,1,1,0,5,3,2]

let arr=ary.filter(function(item,index))

console.log(arr);

複製**

#####第三種方法

(使用indexof ()和lastindexof())

let ary=[1,22,13,14,1,2,12,13,14,1,1,0,5,3,2];

for(let i=0;iif(ary.indexof(ary[i])!=ary.lastindexof(ary[i]]))

}複製**

#####第四種方法 思路:將陣列的每一項都變成物件的屬性名和屬性值,因為物件的屬性名不可以重複,一旦重複後一項會覆蓋前一項

let ary=[1,1,2,1,1,3,4,2,1,4,3];

let obj={};

let arr=;

for(let item of ary)

for(let key in obj)

console.log(arr); //[1,2,3,4]

複製**

陣列去重,效率比較

let arr1 array.from new array 100000 x,index let arr2 array.from new array 50000 x,index 寫一下方法中的去重方法 function distinct1 let start new date gettime con...

js陣列去重以及陣列內物件去重

大家在寫專案的時候一定遇到過這種邏輯需求,就是給乙個陣列進行去重處理,還有一種就是給陣列內的物件根據某乙個屬性,比如id,進行去重,下面我寫了兩個函式,都是可以達到這個效果的,乙個是純es5的去重辦法,乙個是用了es6的array.from new set 和es5的reduce來進行去重 我先定義...

常用的陣列去重方法

陣列的去重 一.普通雙迴圈去重 操作原陣列 let array 3 1,1 1,1 7 1,3 2,5 4,3 2,5 7,8 9,8 for let i 0,len array.length i console.log array 3,1,1 7,2,5,4,8,9 定義乙個新的陣列,來接收去重後...