我有以下功能,其中Math.max()
未按预期工作。它始终警告正在传递的参数的第一个值。错误在哪里?
function large(arr) {
alert(Math.max(arr))
}
large(1,2,3,4,5);

答案 0 :(得分:7)
您正在传递多个参数,但您的函数仅使用第一个参数。
在ES5及之前,您可以使用函数的apply
方法和arguments
object:
function large() {
alert(Math.max.apply(Math, arguments))
}
large(1,2,3,4,5);
在ES6中,您可以使用rest和spread operator:
function large(...arr) {
alert(Math.max(...arr))
}
large(1,2,3,4,5);
答案 1 :(得分:1)