var arr =[21,21,44,54,89,123,77,77];
var arr1 =[21,21,44,54,89,123,77,77];
var arr2 =[21,21,44,54,89,123,77,77];
//1.splice方法删除
function unique(arr){
var len=arr.length;
for(var i=0;i<len;i++){
for(var j=i+1;j<len;j++){
if(arr[i]==arr[j]){
arr.splice(j,1);
j--;
len--;//减少循环次数
}
}
}
return arr;
}
unique(arr);
console.log("splice去重后的数组:"+arr);
//2.indexOf方法(不存在的push到新数组中)
function unique1(arr){
var resultArr=[];
for(var i=0;i<arr.length;i++){
if(resultArr.indexOf(arr[i])==-1){
resultArr.push(arr[i]);
}
}
return resultArr;
}
unique1(arr1);
console.log("indexOf方法去重后的数组:"+arr1);
如果直接console.log(unique1(arr1))结果是对的,可我这么写,第一个方法出来结果是对的,第二个为什么还是原数组呢,不知道哪里出问题了