美文网首页
JS 数组对象的去重方式

JS 数组对象的去重方式

作者: kangaroo_v | 来源:发表于2018-11-05 14:52 被阅读0次

    对于数组对象,传统的去重方法无能为力,至于forEach()、filter()等迭代方法也不好使;真正能做到优雅去重的,是ES5新增加的一个方法——reduce()

    let log = console.log.bind(console);
    let person = [
         {id: 0, name: "小明"},
         {id: 1, name: "小张"},
         {id: 2, name: "小李"},
         {id: 3, name: "小孙"},
         {id: 1, name: "小周"},
         {id: 2, name: "小陈"},   
    ];
    
    let obj = {};
    
    person = person.reduce((cur,next) => {
        obj[next.id] ? "" : obj[next.id] = true && cur.push(next);
        return cur;
    },[]) //设置cur默认类型为数组,并且初始值为空的数组
    log(person);
    
    

    写在最后
    这个高阶语法的用处很广 以至于很多大佬重度依赖reduce函数.. 有机会自己好好学习一波

    相关文章

      网友评论

          本文标题:JS 数组对象的去重方式

          本文链接:https://www.haomeiwen.com/subject/jsssxqtx.html