我正在尝试在数组中获取最大值:
maxtime=Math.max.apply( Math, cnttimearr );
alert(maxtime);
但是,我得到NaN
而不是最大值。谁能告诉我我做错了什么?
答案 0 :(得分:5)
阅读the manual。
如果至少有一个参数无法转换为数字,则结果为
NaN
。
确保数组中的所有元素都可以转换为数字。
> xs = [1, 2, '3'];
[1, 2, "3"]
> Math.max.apply(Math, xs);
3
> xs = [1, 2, 'hello'];
[1, 2, "hello"]
> Math.max.apply(Math, xs);
NaN
答案 1 :(得分:1)
检查您的数组cnttimearr
所有值应可转换为数字
cnttimearr= [5, 6, 2, 3, 7]; /*your array should be like this */
maxtime = Math.max.apply(Math, cnttimearr);
/* This about equal to Math.max(cnttimearr[0], ...) or Math.max(5, 6, ..) */
alert(maxtime);