var data = [{"speed": 210},{"speed": 50},{"speed": 160}];
我想从data
获得最高速度,所以我正在执行以下操作:
var max = Math.max(data[0]['speed'], data[1]['speed'], data[2]['speed']);
这既不优雅也不可扩展(假设数组中可能有任意数量的对象)。
注意:我已经在页面上标记了jQuery(即如果你可以建议聪明地使用.grep或者 可以使用的东西 - 尽管我已经假设了这太过分了?)。
答案 0 :(得分:11)
您可以将对象speed
属性映射到数组中,然后将Math.max
与apply()
一起使用以获取最大数字
Math.max.apply( null, data.map(function(x) {return x.speed}) );