数组去重的作用,现有一个数组[[1,1,2,4,6,2]],去重后就是[[1,2,4,6],那js怎么实现呢?
1.indexOf
function unique(array) {
var arr=[];
for(var i=0;i<array.length;i++){
// 说明当前array元素不在arr数组里面
arr.push(array[i]);
}
}
return arr;
}
unique([1,1,2,4,6,2]);
2. splice(),
要记得splice方法直接对原数组进行操作,记得照顾到length,删除一个元素length就要 -1。
function unique(array){
for(var i=0;i<array.length;i++){
for(var j=i+1;j<array.length-1;j++){
if(array[i]==array[j]){
array.splice(j,1);
//如果相等就删除array[j]元素,
array.length-=1;
}
}
}
return array;
}
console.log(unique([1,1,2,4,6,2]));
- ES6的Set
new Set([1,1,2]) // {1, 2}
- ES6拓展运算符(…)
[...new Set([1,1,2])]