利用对象key值唯一性进行去重

131 阅读1分钟

数组去重的方法有很多,不同的方法的效率也不相同。如前面文章中就总结分析了4种实现方法。这里介绍一种高效数组去重的方法:根据JS对象的特性去除数组中重复项的方法。

一、JS对象的特性(本文中所使用的特性):key始终唯一

引例:说明对象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)