Предполагая, что у меня есть следующее:
var array =
[
{"name":"Joe", "age":17},
{"name":"Bob", "age":17},
{"name":"Carl", "age": 35}
]
Каков наилучший способ получить массив всех разных возрастов, так что я получаю массив результатов:
[17, 35]
Можно ли каким-либо образом структурировать данные или лучший метод, чтобы мне не пришлось перебирать каждый массив, проверяя значение "возраст" и проверяя на наличие другого массива для его существования и добавляя его, если нет?
Если бы был какой-то способ, я мог бы просто вытащить разные возрасты без повторения...
Нынешний неэффективный способ, который я хотел бы улучшить... Если это означает, что вместо "array" будет массив объектов, а "карта" объектов с каким-то уникальным ключом (т.е. "1,2,3" ) это тоже будет хорошо. Im просто ищет наиболее эффективный способ.
Ниже приводится информация о том, как я это делаю в настоящее время, но для меня итерация, как представляется, просто обременительна для эффективности, даже если она работает...
var distinct = []
for (var i = 0; i < array.length; i++)
if (array[i].age not in distinct)
distinct.push(array[i].age)