js 对象数组删除相同id的项

const data = [{
  id: 1,
  name: '一'
},{
  id: 2,
  name: '二'
},{
  id: 2,
  name: '三'
}]

interface Data {
  id: number;
  name: string;
}

const result = data.reduce((item: Array<Data>, next) => {
  typeof item.find(ele => ele['id'] === next['id']) === 'undefined' && item.push(next);
  return item;
}, []);

console.log(result);
// [{
//   id: 1,
//   name: '一'
// },{
//   id: 2,
//   name: '二'
// }]

代码使用了ts

posted @ 2021-09-08 14:31  桃李子  阅读(1008)  评论(0编辑  收藏  举报