如何从JavaScript中的对象数组中获取不同的值?
2022-08-29 22:32:11
假设我有以下几点:
var array =
[
{"name":"Joe", "age":17},
{"name":"Bob", "age":17},
{"name":"Carl", "age": 35}
]
能够获得所有不同年龄的数组的最佳方法是什么,以便我得到以下结果数组:
[17, 35]
有没有办法替代构建数据或更好的方法,这样我就不必遍历每个数组检查“age”的值,并检查另一个数组是否存在,如果没有,请添加它?
如果有某种方法可以让我在不迭代的情况下拉出不同的年龄......
目前无效的方式我想改进...如果这意味着“数组”不是对象数组,而是具有某些唯一键(即“1,2,3”)的对象的“映射”,那也是可以的。我只是在寻找最高性能的方式。
以下是我目前的做法,但对我来说,即使它确实有效,迭代似乎也只是效率的糟糕......
var distinct = []
for (var i = 0; i < array.length; i++)
if (array[i].age not in distinct)
distinct.push(array[i].age)