数组去重的两个小技巧

Posted asdfq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组去重的两个小技巧相关的知识,希望对你有一定的参考价值。

数组去重的两个小技巧

首先es6有提供了 Set 对象, 同java中的 Set, set中的值不可以重复.

所以对于一个数组我们可以直接采用

const duplicateArr = [2,3,4,4,4,3];
const newArray = [...new Set(duplicateArr)];
console.log(newArray);

可以采用filter函数进行过滤, 查看index 是否跟当前的index一致. 因为indexOf返回的是第一个查找的位置

const duplicateArr = [2,3,4,4,4,3];
const newArray = duplicateArr.filter((value,index,arr)=>
    return arr.indexOf(value) === index;
    //或者
    //return arr.findIndex(value) === index;
)
console.log(newArray);

可以采用Object中的key值不重复的特性, 这种方法比较一些简单数组, 因为Object.keys中的key默认都为字符串

const duplicateArr = [2,3,4,4,4,3];
const newObject = ;
for(let i in duplicateArr) 
    if (!newObject[duplicateArr[i]])
        newObject[duplicateArr[i]] = 1;//只是记录一下
    
    else 
    //这里也可以增加计数类的处理
    

console.log(Object.keys(newObject));

以上是关于数组去重的两个小技巧的主要内容,如果未能解决你的问题,请参考以下文章

刷题 | 数组去重的4种方法引发的思考

js数组去重的方法

数组去重的4种方式

JS数组去重的方法汇总

小tip:生成一组不重复的随机数(去重的方法)

数组对象去重