Tengo una matriz de objetos que se parece a esto:
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 puede ver, se repiten algunos nombres. Quiero obtener una nueva matriz solo con nombres, pero si algún nombre se repite, no quiero volver a agregarlo. Quiero esta matriz:
var newArray = ["Name1", "Name2"];
Estoy tratando de hacer esto con map
:
var newArray = array.map((a) => {
return a.name;
});
Pero el problema es que esto vuelve:
newArray = ["Name1", "Name1", "Name2", "Name2"];
¿Cómo puedo establecer alguna condición interna map
para que no devuelva un elemento que ya existe? Quiero hacer esto con map
o alguna otra característica de ECMAScript 5 o ECMAScript 6.
Set
? developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/…