Suponiendo que tengo lo siguiente:
var array =
[
{"name":"Joe", "age":17},
{"name":"Bob", "age":17},
{"name":"Carl", "age": 35}
]
¿Cuál es la mejor manera de poder obtener una matriz de todas las edades distintas de modo que obtenga una matriz de resultados de:
[17, 35]
¿Hay alguna forma de estructurar alternativamente los datos o un método mejor de tal manera que no tenga que repetir cada matriz comprobando el valor de "edad" y comparar con otra matriz para su existencia, y agregarlo si no?
Si hubiera alguna manera, podría extraer las distintas edades sin iterar ...
De manera ineficaz actual me gustaría mejorar ... Si eso significa que en lugar de "matriz" ser una matriz de objetos, pero un "mapa" de objetos con alguna clave única (es decir, "1,2,3") sería esta bien tambien Solo estoy buscando la forma más eficiente de rendimiento.
Lo siguiente es cómo lo hago actualmente, pero para mí, la iteración parece ser mala para la eficiencia a pesar de que funciona ...
var distinct = []
for (var i = 0; i < array.length; i++)
if (array[i].age not in distinct)
distinct.push(array[i].age)
Set
objeto map
ys son derrochadores. Este trabajo solo toma una .reduce()
etapa simple .