JS 数组中对象去重 reduce 用法

对于数组对象,传统的去重方法无能为力,至于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默认类型为数组,并且初始值为空的数组
console.log(person);

 

高手总结:https://www.cnblogs.com/caideyipi/p/7679681.html

posted @ 2019-06-14 10:00  艾莱克  阅读(250)  评论(0编辑  收藏  举报