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修复它。