数组去重的多种方法

Posted a-cat

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组去重的多种方法相关的知识,希望对你有一定的参考价值。

let arr = [1, 1, 2, 2, 3, 4, 3, 4, 5, 5];

一、indexOf()方法:

let newArr = [];
for (let i=0; i<arr.length; i++) {
    if (newArr indexOf(arr[i]) === -1) {
        newArr.push(arr[i]);
    }
}
console.log(newArr);  // [1, 2, 3, 4, 5]

 

二、ES6的Set:

let newArr = [...new Set(arr)];
console.log(newArr);  // [1, 2, 3, 4, 5] 

 

三、filter()函数:

let newArr = arr.filter(function (ele, index, self) {
    return self.indexOf(ele) === index;
})
console.log(newArr); // [1, 2, 3, 4, 5]

  

四、ES6的includes:

let newArr = [];
for (let n of arr) {
    if(!newArr.includes(n)) {
        newArr.push(n)
    } 
}
console.log(newArr); // [1, 2, 3, 4, 5]

  

五、Array.from方法可以将Set结构转为数组:

function dedupe(array) {
    return Array.from(new Set(array))
}
console.log(dedupe(arr)); // [1, 2, 3, 4, 5]

  

六、jQuery的inArray:

let newArr = [];
for(let i=0; i<arr.length; i++) {
    if($.inArray(arr[i].newArr) == -1) {
        newArr.push(arr[i])
    }
}
console.log(dedupe(arr)); // [1, 2, 3, 4, 5]

  

  

以上是关于数组去重的多种方法的主要内容,如果未能解决你的问题,请参考以下文章

数组去重的多种方法

js实现数组去重的方式(7种)

9种JavaScript数组去重的高阶方法

Python列表中去重的多种方法

5个数组去重的方法

数组去重的5种方法