从数组中删除重复项

32 浏览
0 Comments

从数组中删除重复项

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

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特性来实现这个。

0