У мене є масив об'єктів, який виглядає приблизно так:
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.