JS常见的几种数组去重方法

总结一下JS中用到的数组去重的方法

 方法一:

该方法利用对象的属性值不能相同:

function arrDelLikeElement (array) {
    const result = [];
    const obj = {};
    for(let i in array){
        if(!obj[array[i]]){
            result.push(array[i]);
            obj[array[i]] = i;
        }
    }
    return result;
}
arr = arrDelLikeElement(arr);

方法二:

该方法使用ES6中的映射方法:

function arrayDelLikeElement(array) {
    //将传入的数组参数作为javascript中的创建一个Set(集合)对象的方法中的参数
    var arrSet = new Set(array);
    //定义一个空数组用来接收集合循环遍历的值
    var arrEmpty = [];
    for (const value of arrSet) {
        arrEmpty.push(value);
    }
    array=arrEmpty;
    return array
}
arrLike = arrayDelLikeElement(arr);

方法三:

该方法使用递归调用

var arr=[1,6,1,2,2,1,3,1,3,4,5,6];
// 第一步:将数组进行排序
arr = arr.sort(function(a,b){
    return a-b
});
// 第二步编写递归函数
function mul (arr , i) {
    if(i>=1){
        if(arr[i] === arr[i-1]){
            arr.splice(i,1);
        }
        mul(arr,(i-1));
    }
    return arr;
}
mul(arr , arr.length);
console.log(arr)

 以上方法时常用的方法,后续持续更新新的方法,如果您有更好的方法,可以留言评论,咱们互相讨论!!!

猜你喜欢

转载自www.cnblogs.com/qdclub/p/9975815.html