繁体   English   中英

多维数组中的最小值和最大值

[英]Min and max in multidimensional array

我的阵列是:

var a = new Array();
a[0] = {x: 10,y: 10};
a[1] = {x: 20,y: 50};
a[2] = {x: 30,y: 20};
a[3] = {x: 10,y: 10};

var min = Math.min.apply(null, ax)不起作用。 一些想法?

你对.apply有正确的想法,但你需要传递x值的集合。

var xVals = a.map(function(obj) { return obj.x; });
var min = Math.min.apply(null, xVals);

.map()方法创建一个新的Array,它包含您在每次迭代中返回的任何内容。

[10, 20, 30, 10]

然后将Array作为第二个参数传递给.apply将分配Array的成员作为单独的参数。 所以就好像你这样做了:

Math.min(10, 20, 30, 10) // 10

但是既然你需要.map() ,你也可以跳过Math.min ,而只是使用.reduce

var min = a.reduce(function(min, obj) { 
                      return obj.x < min ? obj.x : min; 
                   }, Infinity);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM