小编Ric*_*man的帖子

如何在JavaScript对象数组中查找重复值,并仅输出唯一值?

我正在学习JS.假设我有以下对象数组:

var family = [
  {
    name: "Mike",
    age: 10
  },
  {
    name: "Matt"
    age: 13
  },
  {
    name: "Nancy",
    age: 15
  },
  {
    name: "Adam",
    age: 22
  },
  {
    name: "Jenny",
    age: 85
  },
  {
    name: "Nancy",
    age: 2
  },
  {
    name: "Carl",
    age: 40
  }
];
Run Code Online (Sandbox Code Playgroud)

请注意,南希出现了两次(仅更改年龄).假设我只想输出唯一的名称.如何输出上面的对象数组,没有重复?ES6的答案非常受欢迎.

相关(找不到在对象上使用的好方法):

编辑这是我尝试过的.它适用于字符串,但我无法弄清楚如何使它与对象一起工作:

family.reduce((a, b) => {
  if (a.indexOf(b) < 0 ) {
    a.push(b);
  }
  return a;
},[]);
Run Code Online (Sandbox Code Playgroud)

javascript arrays javascript-objects ecmascript-6

8
推荐指数
3
解决办法
4万
查看次数