[英]How to get the min elements inside an array in javascript?
这是我尝试过的:
Math.min([1,2,3])
但只能得到NaN
...
使用apply
:
Math.min.apply(null,[1,2,3]); //=> 1
Function.apply(thisArg[, argArray])
apply 方法允许您调用函数并指定 this 在该函数的上下文中将引用的关键字。 thisArg 参数应该是一个对象。 在被调用函数的上下文中,this 将引用 thisArg。 apply 方法的第二个参数是一个数组。 该数组的元素将作为参数传递给被调用的函数。 argArray 参数可以是数组文字或函数的已弃用参数属性。
在这种情况下,第一个参数不重要(因此:null),第二个是,因为数组作为参数传递给Math.min
。 这就是这里使用的“技巧”。
[编辑十一月。 2020 ] 这个答案相当陈旧。 如今(使用 Es20xx)您可以使用扩展语法将数组扩展为Math.min
参数。
Math.min(...[1,2,3]);
使用 JS 扩展运算符避免额外编码:
console.log(Math.min(...[1,2,3]))
您必须遍历数组。 AFAIK JS 中没有array_min
。
var i, min = arr[0];
for (i=1; i<arr.length; i++)
min = Math.min(min, arr[i]);
用这个
Array.min = function( array ){
return Math.min.apply( Math, array );
};
不要将数组传递给它(在这种情况下,它不是数字或NaN
),只需将数字作为参数传递给函数即可。 像这样:
Math.min(1, 2, 3)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.