数组去重:
let arr = [79,47,6,79,90,47,6,79,79,79];
//方法一
for(let i =0;i<arr.length;i++){ //遍历数组中的每个元素
for(let j =i+1;j<arr.length;j++){ //遍历arr[i]后面的所有元素
if(arr[i]==arr[j]){ //
arr.splice(j,1); //splice截取掉一个元素后,后面的元素往上挪一位索引。 所以arr[i]这个元素就不会和之前比较过的索引比较。所以需要j--
j--;
}
}
}
console.log(arr);
//方法二
let arr2 = new Set(arr);
console.log(arr2);
//方法三
let arr3 =[];
for(let value of arr){
if(arr3.indexOf(value)>=0){ //判断新的数组中是否存在这个元素。如果存在则跳出这次循环,否则把这个元素添加进新数组。
continue;
}else{
arr3.push(value);
}
}
console.log(arr3);
效果图:
数组里面的对象去重:
var str = [
{id:1,name:"张三"},
{id:2,name:"李四"},
{id:3,name:"王二"},
{id:1,name:"麻子"},
{id:2,name:"李"}
];
for(let i=0;i<str.length;i++){
for(let j = i+1;j<str.length;j++){
if(str[i].id == str[j].id){
// str.splice(j,1); //去掉后面重复的数据
str.splice(i,1); //去掉前面重复的数据
j--;
}
}
}
console.log(str);
效果图: