我想选择一个对象数组中的最大数字,所以例如,我想获得x拥有最大数字的属性(在这个例子中,maximum应该是200):
var myArr = [{x:100,y:200},{x:200,y:500}];
//does not work:
var maximum = Math.max.apply(Math,myArr.x);
Run Code Online (Sandbox Code Playgroud)
Poi*_*nty 17
您必须自己从对象中提取属性:
var maximum = Math.max.apply(Math, myArr.map(function(o) { return o.x; }));
Run Code Online (Sandbox Code Playgroud)
这用于.map()迭代数组的元素并返回"x"属性的值.然后将结果数组作为参数传递给Math.max().
小智 7
多一种方式,我觉得更漂亮。通过使用传播:
Math.max(...array.map((i) => i.x));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5356 次 |
| 最近记录: |