博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS面试题之数组去重
阅读量:3960 次
发布时间:2019-05-24

本文共 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/

你可能感兴趣的文章