Javascript 如何从对象数组计算最小/最大值
我有一个数据表,显示图表上的各种数据点Javascript 如何从对象数组计算最小/最大值,javascript,arrays,Javascript,Arrays,我有一个数据表,显示图表上的各种数据点 var data = [{name:"s", y:2},{name:"e",y:90},{name:"tt",y:9},{name:"se",y:10}] 现在我知道使用简单数组可以使用Math.max…和Math.min来计算最小/最大值,但不确定如何使用对象数组实现相同的结果 谢谢 您仍然可以使用Math.max和Math.min。只需先映射数据即可 const max = Math.max.apply(null, data.map((point)
var data = [{name:"s", y:2},{name:"e",y:90},{name:"tt",y:9},{name:"se",y:10}]
现在我知道使用简单数组可以使用Math.max…和Math.min来计算最小/最大值,但不确定如何使用对象数组实现相同的结果
谢谢 您仍然可以使用
Math.max
和Math.min
。只需先映射数据即可
const max = Math.max.apply(null, data.map((point) => point.y));
const min = Math.min.apply(null, data.map((point) => point.y));
您可以使用
.map
获得正确的最小值和最大值
var data = [{name:"s", y:2},{name:"e",y:90},{name:"tt",y:9},{name:"se",y:10}];
var values = data.map(function( obj ) {
return obj.y;
});
var min = Math.min.apply(null, values);
var max = Math.max.apply(null, values);
如果您使用的是ES6
,则可以去掉。应用,并用扩展运算符替换它
var min = Math.min(...values);
var max = Math.max(...values);
无法将数组传递给Math.max
。您需要使用apply
@fubar修复它。