Tenho uma série de objetos parecidos com:
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"}
...
];
Como você pode ver, alguns nomes se repetem. Quero obter uma nova matriz apenas com nomes, mas se algum nome se repetir, não quero adicioná-lo novamente. Eu quero esta matriz:
var newArray = ["Name1", "Name2"];
Estou tentando fazer isso com map
:
var newArray = array.map((a) => {
return a.name;
});
Mas o problema é que isso retorna:
newArray = ["Name1", "Name1", "Name2", "Name2"];
Como posso definir alguma condição interna map
, para que não retorne um elemento que já existe? Desejo fazer isso com map
ou algum outro recurso ECMAScript 5 ou ECMAScript 6.
Set
? developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…