美文网首页
ES6中对象数组根据属性去重的方法

ES6中对象数组根据属性去重的方法

作者: who_are_you_ | 来源:发表于2019-07-25 19:43 被阅读0次
let data = [
   {id:1,name:'obj'},
   {id:3,name:'string'},
   {id:2,name:'arr'},
   {id:1,name:'string'}
 ];
// 根据对象中的属性进行去重
function filterArr(arr, name) {
    let hash = {};
     return arr.reduce((ss, item) => {// reduce累计器, ss是具体满足条件后返回的数据, item是数组依次循环的每一项
        hash[item[name]] ? '' : hash[item[name]] = true && ss.push(item);
        // 1、判断对象的键值是否存在
        return ss;
    }, []);
}
let arr2 = filterArr(data, 'id');
console.log(arr2);

结果如下,封装好的

image.png

相关文章

网友评论

      本文标题:ES6中对象数组根据属性去重的方法

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