1、双重for循环
arr = [3,11,3,0,89,44,11,44,22,89]
//splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。
//arrayObject.splice(index,howmany,item1,.....,itemX)
function deleDuplicate(arr){
for(let i = 0; i < arr.length; i++){
for(let j = i+1; j < arr.length; j++){
if(arr[j] == arr[i]){
arr.splice(j,1);
//j位被删除,后一位往前挪了以为,还未对比过,故j--
j--;
}
}
}
return arr;
}
let brr = deleDuplicate(arr);
console.log(brr);//3,11,0,89,44,22
2、利用空对象来记录新数组中已经存储过的元素
var drr = [1,23,1,1,1,3,23,5,6,7,9,9,8,5];
var o={};
var new_arr=[];
for(var i=0;i<drr.length;i++){
var k=drr[i];
if(!o[k]){
o[k]=true;
new_arr.push(k);
}
}
console.log(new_arr);