数组快速去重[JS]

当有这样的数组:

var myArray=["a","b","c","a","c"];

或者这样的:

var myArray=[["aa","aa"],["bb","bb"],["cc","cc"],["aa","aa"],["cc","cc"]]

想去除其中的重复项该怎么操作呢?看了些大佬的文章,据说通过利用对象的属性不能相同的特点进行去重效率最高。所以改进了下代码,使其对二元数组也有效(多元数组也应该适用吧...)。

实现代码

var arrayDiff=function(arr) {
    let result = [];
    let obj = {};
    for(var i=0;i<arr.length;i++){
        if(!obj[arr[i]]){
            result.push(arr[i]);
            obj[arr[i]]=true;
        }
    }
    return result
}

发表于:2019-10-02