相对优雅的数组去重方法

244 阅读1分钟

1、Set去重

A、Set和Array.from()方法联用

    Array.from(new Set(['我','爱','你','你','我','爱']))  //['我', '爱', '你']

B、Set和扩展运算符[...]联用

    [...new Set(['我','我','爱','你','你','我','爱'])]  //['我', '爱', '你']

2、filter去重(真*)

    ["我","丑","最","丑","帅","丑","丑"].filter(item => item !=="丑") //  ['我', '最', '帅']

3、利用对象的key属性去重

    //创建数组
    let arr = ['及','及','你','及','你','台','及','霉']
    //创建空对象用来接收数组的数据
    let obj = {}
    //遍历数组,并把数组的数据,放到对象的key里进行去重
    for(let key of arr){
        obj[key] = key;
    }
    //对象再转化为数组
    arr = Object.values(obj)
    console.log(arr) //  [ '及', '你', '台', '霉' ]