如果对象有重复,则从列表中删除对象 属性
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');
我有一个对象列表。所有对象都包含一个 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');