gpt4 book ai didi

javascript - 从数组中删除重复项

转载 作者:IT王子 更新时间:2023-10-29 02:43:43 26 4
gpt4 key购买 nike

我有一个看起来像这样的对象数组:

var array = [
{id:123, value:"value1", name:"Name1"},
{id:124, value:"value2", name:"Name1"},
{id:125, value:"value3", name:"Name2"},
{id:126, value:"value4", name:"Name2"}
...
];

如您所见,有些名称是重复的。我想获得一个只有名称的新数组,但如果某些名称重复,我不想再次添加它。我想要这个数组:

var newArray = ["Name1", "Name2"];

我正在尝试使用 map 执行此操作:

var newArray = array.map((a) => {
return a.name;
});

但问题是这会返回:

newArray = ["Name1", "Name1", "Name2", "Name2"];

如何在 map 中设置一些条件,使其不会返回已经存在的元素?我想使用 map 或其他一些 ECMAScript 5 或 ECMAScript 6 功能来执行此操作。

最佳答案

对于 ES6,你可以使用 Set对于唯一值,在仅映射对象的名称之后。

该提案使用 spread syntax ...用于收集新数组中的项目。

const array = [{ id: 123, value: "value1", name:"Name1" }, { id: 124, value: "value2", name: "Name1" }, { id: 125, value: "value3", name: "Name2" }, { id: 126, value: "value4", name: "Name2" }],
names = [...new Set(array.map(a => a.name))];

console.log(names);

关于javascript - 从数组中删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41364383/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com