var arr = [1,2,3,4,4,2,99,99,1,1,2,1,2];
第一种:new Set()
展示:new Set()代码片
var box = Array.from(new Set(arr));
var box = [...new Set(arr)];
console.log(box);
第二种:indexOf()
展示:indexOf()代码片
。
var box = [];
for(var i = 0;i < arr.length;i++){
if(box.indexOf(arr[i]) == -1){
box.push(arr[i])
}
}
console.log(box);
第三种:splice()
展示:splice()代码片
。
for(var i = 0;i < arr.length;i++){
for(var j = i+1; j < arr.length;j++){
if(arr[i] == arr[j]){
arr.splice(j,1);
}
}
}
console.log(arr);
第四种:sort()+splice()
展示:sort()+splice()代码片
。
arr.sort();
for(var i = 0; i < arr.length;i++){
if(arr[i] == arr[i+1]){
arr.splice(i,1);
i--;
}
}
console.log(arr);
第五种:递归函数
展示:递归函数代码片
。
Array.prototype.unique = function(){
var arr = this;
len = arr.length;
arr.sort(function(a,b){
return a - b;
})
function loop(index){
if(index >= 1){
if(arr[index] === arr[index-1]){
arr.splice(index,1);
}
loop(index-1);
}
}
loop(len-1);
return arr;
}
var b = arr.unique();
console.log(b);