JavaScript 数组去重
1.第一种是比较常见的方法
思路:
- 构建一个数组存放去重结果
- for 循环每次从元数组中取出一个元素,用这个元素循环与结果数组比较
- 若结果数组中没有该元素,则添加到去重数组中
//js代码
let res = [];
let arr = [1,2,1,33,55,33,1,2,10,55]
for (let i = 0; i< arr.length;i++){
//开关思想
let repeat = false;
for(let j=0;j<res.length;j++){
//重复数组和去重数组比较,如果为 true 把 repeat 设为 true
if(arr[i] == res[i]){
repeat = true;
break;
}
}
// 如果 repeat 为 false ;则添加到去重数组中
if(!repeat){
res.push(arr[i])
}
}
- 第二种是用
indexOf()
方法来去重
思路:
- 构建一个数组存放去重结果
- 遍历重复数组
- 如果
indexOf
返回值是 -1 的话就添加到 res 数组中
let arr = [有重复的数组] // 假数据
let res = []; // 存放去重数组
//遍历
for(let i = 0;i<arr.length;i++){
if(res.indexOf(arr[i]) == -1){
res.push(arr[i])
}
}
console.log(res);