假设我有以下内容:
var array =
[
{"name":"Joe", "age":17},
{"name":"Bob", "age":17},
{"name":"Carl", "age": 35}
]
Run Code Online (Sandbox Code Playgroud)
能够获得所有不同年龄的数组的最佳方法是什么,以便我得到一个结果数组:
[17, 35]
Run Code Online (Sandbox Code Playgroud)
有没有办法我可以选择构造数据或更好的方法,这样我就不必遍历每个数组检查"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)
Run Code Online (Sandbox Code Playgroud)