我一直在调试此代码大约一个小时,看起来Math.min([1,2])
会返回NaN
。
var int_array = [1,2]
console.log(Math.min(int_array)) //prints NaN, but expect 1
isNaN(Math.min(int_array))===true
答案 0 :(得分:21)
Math.min()
函数实际上需要一系列数字,但它不知道如何处理实际数组,所以它正在爆炸。
您可以使用spread operator ...
:
var int_array = [1,2];
console.log(Math.min(...int_array)); // returns 1
你也可以通过Function.apply()
函数实现这一点,该函数本质上会做同样的事情,但不是很漂亮:
var int_array = [1,2];
console.log(Math.min.apply(null,int_array)); // returns 1
答案 1 :(得分:4)
答案 2 :(得分:0)
这个
11111
可以在所有实际浏览器中使用。