Happy New Year!

数组去重的多种方法

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]

  

  

posted @ 2020-02-12 09:07  一只看夕阳的猫  阅读(396)  评论(2编辑  收藏  举报
返回顶部小火箭
世界很公平,想要最好,就一定得付出!
x
博客主页