目录
1.双重for循环完成数组去重
每次循环 是 当前循环单元 和 之后的所有单元进行比较
如果 起始单元的数据 和 之后单元的数据 相同 删除 之后单元的数据
var arr = [1,1,2,1,2,3,1,2,3,4,1,2,3,4,5,1,2,3,4,5,6];
//外层循环 从第一个单元 至 倒数第二个单元
for (var i = 0; i < arr.length - 1; i++) {
//内层循环 从 当前循环起始单元的下一个单元 至 最后一个单元
for (j = i + 1; j < arr.length; j++) {
//如果 当前循环起始单元存储的数据 和 之后循环单元存储的数据相同
if (arr[i] === arr[j]) {
//删除 之后循环的单元
arr.splice(j,1);
i--;
}
}
console.log(arr);
执行结果:
2.利用对象不能存储重复属性的特点
var arr = [1,1,2,1,2,3,1,2,3,4,1,2,3,4,5,1,2,3,4,5,6];
//创建空对象
var obj = {};
//创建空数组
var arr1 = [];
//循环遍历数组
for (var i = 0; i < arr.length; i++) {
//将 数组单元的数据 作为 对象的属性 新增对象的单元
obj[ arr[i] ] = 1;
}
//循环遍历对象
for (var index in obj) {
//将 对象的属性作为数据 存储到空数组中
arr1.push(index);
}
console.log(arr1);
执行结果: