如果对象有重复,则从列表中删除对象 属性

Remove objects from a List if the objects have duplicate property

我有一个对象列表。所有对象都包含一个 NAME 属性。有几个对象具有相同的名称 属性.

  const arr = [
    {name: "x", place: "a",  age: "13" },
    {name: "x", place: "b", age: "14" },
    {name: "y", place: "c",  age: "15" },
    {name: "d", place: "d", age: "16" }
]

我如何 trim 每个名称只有一个对象的列表(或创建一个新列表)属性?应从列表中删除任何其他重复项

我应该得到这样的结果

    const arr = [
    {name: "x", place: "a",  age: "13" },
    {name: "y", place: "c",  age: "15" },
    {name: "d", place: "d", age: "16" }
]

    const arr = [
    {name: "x", place: "b", age: "14" },
    {name: "y", place: "c",  age: "15" },
    {name: "d", place: "d", age: "16" }
]

我可以用 Lodash 做吗?

Lodash 的 uniqBy 功能正是您所需要的:

const _ = require('lodash');
const result = _.uniqBy(arr, 'name');