JavaScript常见算法——去重

       刚才看到一篇博文,数组去重的,我先试着写一下:新建一个空数组,对原数组进行for循环,对新数组使用indexOf方法判断新数组中是否有该数组元素,没有的话就加入新数组。后来看文中使用的是HashTable,尚未接触HashTable,Mark一下,学习学习。

我的代码:

function filter(arr) {
    var handledArr = [];
    for (var i = 0; i < arr.length; i++) {
        if (handledArr.indexOf(arr[i]) == -1) {
            handledArr.push(arr[i]);
        }
    }
    return handledArr;
}
filter([1,13,24,11,11,14,1,2]);   //[1,13,24,11,14,2]

原博文地址:https://www.cnblogs.com/zhangdongBook/archive/2018/01/14/8284844.html

原博文代码:

function fliter(arr) {  
    let hashTable = {};
    let data = [];
    for(let i=0,l=arr.length;i<l;i++) {
        if (!hashTable[arr[i]]) {
            hashTable[arr[i]] = true;
            data.push(arr[i]);
        }
    }
    return data;
}
filter([1,13,24,11,11,14,1,2]);  //[1,13,24,11,14,2]
原文地址:https://www.cnblogs.com/zhengxj1991/p/8290258.html