数组去重
思路一:对象的属性名的唯一性
function distinct(arr){
var obj = {}, brr = [];
for(var i = 0;i < arr.length;i++){
if(!obj[arr[i]]){
obj[arr[i]] = 1;
brr.push(arr[i]);
}
}
return brr;
}
console.log(distinct([1,1,2,1,2,34,2,2,3]))
思路二:双重循环嵌套,前后比较
function distinct(arr){
for(var i = 0; i < arr.length-1;i++){
for(var j = i + 1; j < arr.length;j++){
if(arr[i] == arr[j]){
arr.splice(j,1);
j--;
}
}
}
return arr;
}
console.log(distinct([1,1,2,1,2,23,12,2]))
思路三:利用indexof 查找第一次出现的位置
function remove(arr){
for(var i = 0;i < arr.length;i++){
if(arr.indexOf(arr[i]) != i){
arr.splice(i,1);
i–;
}
}
return arr;
}
console.log(remove([1,12,12,2,2,34,1,23,3,3]))