最佳答案
我有一个对象数组,看起来像这样:
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特性来实现这一点。