JS

JS数组去重(3种方法)

2019-08-13  本文已影响0人  匆匆那年_海

1.创建新数组,利用indexOf去重(IE8以下不支持)

Array.prototype.unique1 = function() {
    var arr2 = [];
    for (var i = 0; i < this.length; i++) {
        if (arr2.indexOf(this[i]) == -1) arr2.push(this[i]);
    }
    return arr2;
}
arr1 = arr1.unique1();
console.log(arr1);

2.ES6中利用Set去重

var arr = [1,1,2,3,1];
console.log(Array.from(new Set(arr)))//[1,2,3]
//或者使用扩展用算符
console.log([...new Set(arr)] ) //[1,2,3]

3.对象去重法

Array.prototype.unique2 = function() {
    var obj = {},arr2 = [];
    for (var j = 0; j < this.length; j++) {
        if(obj[this[j]] == undefined || obj[this[j]] !== this[j])
                { obj[this[j]] = this[j],arr2.push(this[j]) }
    }
    return arr2;
}
arr1 = arr1.unique2()
console.log(arr1);

原文作者:匆匆那年_海,博客主页:https://www.jianshu.com/u/910c0667c515
95后前端汉子,爱编程、优秀、聪明、理性、沉稳、智慧的程序猿一枚。

上一篇 下一篇

猜你喜欢

热点阅读