数组去重的方法有很多,不同的方法的效率也不相同。如前面文章中就总结分析了4种实现方法。这里介绍一种高效数组去重的方法:根据JS对象的特性去除数组中重复项的方法。
引例:说明对象key值的唯一性,即当重新给js已有属性赋值的时候,实际上是覆盖了key,而不是新建了key
var a = [1,1,2,2,3,3,4,4]
function unique(){
let obj = {}
let arr = []
for(let i=0;i<a.length;i++){
if(!obj[a[i]]){
obj[a[i]] = 'unique' // val可以是任意值,但key是唯一的
arr.push(a[i])
}
}
return arr
}
unique(a)