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后前端汉子,爱编程、优秀、聪明、理性、沉稳、智慧的程序猿一枚。