Javascript: Math.min() returns NaN
Javascript: Math.min() returns NaN
我正在尝试在 Javascript 中创建一段代码来比较 Epoch 时间数组(它们只是大整数),我希望它找到最小的或最具历史意义的时间值.
这是我到目前为止所写的内容,但当我 运行 它时,它只是 returns 'NaN'。
var times = [1501502460000,1501497900000,1501498920000,1501493700000];
lowestTime = Math.min(times);
请注意,我使用的是 Math.min() 而不是 Math.max()。
如果您希望 Math.min()
处理 数组 值,您必须使用 .apply()
:
var lowestTime = Math.min.apply(Math, times);
您还可以使用新的扩展语法:
var lowestTime = Math.min(... times);
但这并不适用于所有环境。
当您直接传递数组时,Math.min()
所做的第一件事就是尝试将其转换为数字,因为这是它所期望的:单个数字。当发生这种情况时,通过一个循环过程,结果值将是 NaN
.
我正在尝试在 Javascript 中创建一段代码来比较 Epoch 时间数组(它们只是大整数),我希望它找到最小的或最具历史意义的时间值.
这是我到目前为止所写的内容,但当我 运行 它时,它只是 returns 'NaN'。
var times = [1501502460000,1501497900000,1501498920000,1501493700000];
lowestTime = Math.min(times);
请注意,我使用的是 Math.min() 而不是 Math.max()。
如果您希望 Math.min()
处理 数组 值,您必须使用 .apply()
:
var lowestTime = Math.min.apply(Math, times);
您还可以使用新的扩展语法:
var lowestTime = Math.min(... times);
但这并不适用于所有环境。
当您直接传递数组时,Math.min()
所做的第一件事就是尝试将其转换为数字,因为这是它所期望的:单个数字。当发生这种情况时,通过一个循环过程,结果值将是 NaN
.