es6

es6对象数组如何去重

小亿
137
2023-10-25 20:03:10
栏目: 编程语言

可以使用Set数据结构或者reduce方法来去重。

  1. 使用Set数据结构:
let arr = [{name: 'Alice', age: 20}, {name: 'Bob', age: 30}, {name: 'Alice', age: 20}];
let uniqueArr = Array.from(new Set(arr.map(JSON.stringify))).map(JSON.parse);
console.log(uniqueArr);
  1. 使用reduce方法:
let arr = [{name: 'Alice', age: 20}, {name: 'Bob', age: 30}, {name: 'Alice', age: 20}];
let uniqueArr = arr.reduce((prev, curr) => {
  let hasDuplicate = prev.some(obj => obj.name === curr.name && obj.age === curr.age);
  if(!hasDuplicate) {
    prev.push(curr);
  }
  return prev;
}, []);
console.log(uniqueArr);

以上两种方法都可以实现对对象数组的去重,根据实际情况选择使用。

0
看了该问题的人还看了