1. splice
var arr = [1,2,5,7,2,2,4,5]
for(var i=0;i<arr.length;i++){
}
var arr = [1,2,5,7,2,2,4,5]
for(var i=0;i<arr.length;i++){
}
console.log(arr)
优点
缺点:占用内存高,速度慢
es6的set方法
function clearChong(array){
}
clearChong([1,1,2,3]) //[1,2,3]
Set
数据结构,它类似于数组,其成员的值都是唯一的。
利用Array.from
将Set
结构转换成数组
利用indexOf以及forEach
Array.prototype.distinct = function (){
var arr = this,
result = [];
arr.forEach(function(v, i ,arr){//这里利用map,filter方法也可以实现
var bool =arr.indexOf(v,i+1);//从传入参数的下一个索引值开始寻找是否存在重复
if(bool === -1){
result.push(v);
}
})
return result;
};
var a = [1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3,3,3,2,3,3,2,2,1,23,1,23,2,3,2,3,2,3];
var b = a.distinct();
console.log(b.toString());//1,23,2,3
文章来源: 数组去重的常用方法