本文共 926 字,大约阅读时间需要 3 分钟。
1.如果数组的第i项,第一次出现的位置不是在下标i,那么这个元素就是重复出现了,是下标i,说明是第一次出现,则放入新数组。
2.ES6新增构造函数set,利用set具有天然去重功能
3.利用选择排序的原理,新数组中的每一项和旧数组中的每一项都相互比较。
let arr_new = [arr[0]]; for(let i = 0,len = arr.length;i < len;i ++){ let flag = false; for(let j = 0,len = arr_new.length;j < len;j ++){ if(arr_new[j] === arr[i]){ flag = true; break; }else{ flag = false; } } if(!flag){ arr_new.push(arr[i]); } } console.log(arr_new);
4.遍历旧数组,然后再新数组中查找对应元素的下标,找不到对应的元素,返回-1,说明新数组中没有该元素,则放入新数组。
let arr_new = []; for(let i = 0,len = arr.length;i < len;i ++){ //indexOf(元素) 查找对应元素的下标,找到返回找到的元素,找不到返回-1 if(arr_new.indexOf(arr[i]) === -1){ arr_new.push(arr[i]); } } console.log(arr_new);
转载地址:http://stqzi.baihongyu.com/