Javascript中的Math.max函数

时间:2015-02-23 16:22:16

标签: javascript max

我有这个简单的问题,我无法弄清楚尝试从字符串中找出最大值,是的,它是一个字符串,转换为浮点数。根据JS,它可以采用数组...但每次我尝试找到最大值时,它只是打印第一个值。在这种情况下13 ......不确定为什么?预期的结果是30.

请帮忙。谢谢!

function myFunction() {
    var str = "13, 24, 30, 4";//30
    var res = str.split(",");

    var max =    Math.max(parseFloat(res));

    document.getElementById("demo").innerHTML = res+ " " + max;//test

    }

1 个答案:

答案 0 :(得分:5)

res是一个数组。 parseFloat需要一个字符串。 Math.max不接受数组,而是接受多个参数。请注意,您甚至不需要parseFloat,因为Math.max无论如何都会将其参数转换为数字。因此,您必须使用apply将数组转换为Math.max

var str = "13, 24, 30, 4";
var max = Math.max.apply(Math, str.split(", "));

document.getElementById("demo").innerHTML = "max("+res+") = "+max;