如何从JavaScript中的对象数组中获得不同的值?假设我有以下情况: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)
3 回答
郎朗坤
TA贡献1921条经验 获得超9个赞
array_keys
var flags = [], output = [], l = array.length, i;for( i=0; i<l; i++) { if( flags[array[i].age]) continue; flags[array[i].age] = true; output.push(array[i].age);}
添加回答
举报
0/150
提交
取消