最簡單的去重方式
阿新 • • 發佈:2020-10-22
1、es6的new Set()方式
let array=[0,3,4,5,3,4,7,8,2,2,5,4,6,7,8,0,2,0,90];
[...new Set(array)]
2、es5的Array filter()
[1,3,4,5,1,2,3,3,4,8,90,3,0,5,4,0].filter(function(elem,index,Array){
return index === Array.indexOf(elem);
})
擴充套件:
new Set()的基礎用法(ES6)
1、什麼是Set()
似於陣列,但它的一大特性就是所有元素都是唯一的,沒有重複。
我們可以利用這一唯一特性進行陣列的去重工作。
2、常用方法
2.1 新增元素 add
let list=new Set();
list.add(1)
2.2 刪除元素 delete
let list=new Set([1,20,30,40])
list.delete(30) //刪除值為30的元素,這裡的30並非下標
2.3 判斷某元素是否存在 has
let list=new Set([1,2,3,4])
list.has(2)//true
2.4 清除所有元素 clear
let list=new Set([1,2,3,4])
list.clear()
2.5 遍歷 keys()
let list2=new Set(['a','b','c']) for(let key of list2.keys()){ console.log(key)//a,b,c }
2.6 遍歷 values()
let list=new Set(['a','b','c'])
for(let value of list.values()){
console.log(value)//a,b,c
}
2.7 遍歷 forEach()
let list=new Set(['4','5','hello'])
list.forEach(function(item){
console.log(item)
})
2.8 陣列轉Set (用於陣列去重)
let set2 = new Set([4,5,6])
2.9 Set轉陣列
let set4 = new Set([4, 5, 6]) //方法一 es6的...解構 let arr1 = [...set4]; //方法二 Array.from()解析類陣列為陣列 let arr2 = Array.from(set4)