数组去重
2018-03-29 本文已影响0人
Clayten
方法一
var arr = [1,1,2,3,2,1,5,12,23,56,4,12,2,1,3];
function moverArrrAEpeat (arr) {
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);
}
}
}
return arr;
}
arr = moverArrrAEpeat(arr);
console.log(arr);
方法二、使用filter()方法
var arr = [1,1,2,3,2,1,5,12,23,56,4,12,2,1,3];
var r = arr.filter(function(element,index,obj){
//console.log(obj);
return obj.indexOf(element) === index;
});
console.log(r);
方法三、indexof()
var arr = [1,1,2,3,2,1,5,12,23,56,4,12,2,1,3];
function moverArrrAEpeat(arr) {
for(var i = 0; i<arr.length; i++){
if(arr.indexOf(arr[i]) != i){
arr.splice(i,1);
i--;
}
}
return arr;
}
arr = moverArrrAEpeat(arr);
console.log(arr);
方法四、空对象
var obj = {};
var arr= [1,1,2,3,2,1,5,12,23,56,4,12,2,1,3];
function moverArrrAEpeat(arr){
var arr1 = [];
for (var i in arr){
if(!obj[arr[i]]){
arr1.push(arr[i]);
obj[arr[i]] = 1;
}
}
return arr1;
}
console.log(moverArrrAEpeat(arr));
方法五、ES6数组去重
var arr = [1,1,2,3,2,1,5,12,23,56,4,12,2,1,3];
function moverArrrAEpeat(arr){
let arr0 = new Set(arr);
return Array.from(arr0);
}
var arr1 =moverArrrAEpeat(arr);
console.log(arr1);