Leophen

举个例子:对以下数组按 lastName 的值进行去重

let listData = [
  { firstName: "Rick", lastName: "Sanchez", size: 18 },
  { firstName: "Morty", lastName: "Smith", size: 6 },
  { firstName: "Jerry", lastName: "Smith", size: 3 },
  { firstName: "Beth", lastName: "Smith", size: 0 },
  { firstName: "Summer", lastName: "Smith", size: 0 },
  { firstName: "Rick", lastName: "Sanchez", size: 18 },
  { firstName: "Morty", lastName: "Smith", size: 6 },
];

去重前:

去重后:

一、普通写法

let obj = {};
listData = listData.reduce((item, next) => {
  if (!obj[next.lastName]) {
    item.push(next);
    obj[next.lastName] = true;
  }
  return item;
}, []);

二、TS 写法

const obj: {[key: string]: boolean;} = {};
listData = listData.reduce<ListDataItem[]>((item, next) => {
  if (!obj[next.lastName]) {
    item.push(next);
    obj[next.lastName] = true;
  }
  return item;
},[]);

相关文章:

  • 2021-12-19
  • 2021-12-19
  • 2021-12-19
  • 2022-01-01
  • 2021-11-07
  • 2021-12-29
  • 2021-11-30
  • 2021-12-03
猜你喜欢
  • 2021-11-09
  • 2021-12-19
  • 2018-01-19
  • 2021-11-06
  • 2021-12-29
  • 2021-12-19
  • 2018-10-25
相关资源
相似解决方案