我有以下功能,其中Math.max()
未按預期工作。它總是警告正在傳遞的參數的第一個值。錯誤在哪裏?Math.max()未按預期工作
function large(arr) {
alert(Math.max(arr))
}
large(1,2,3,4,5);
我有以下功能,其中Math.max()
未按預期工作。它總是警告正在傳遞的參數的第一個值。錯誤在哪裏?Math.max()未按預期工作
function large(arr) {
alert(Math.max(arr))
}
large(1,2,3,4,5);
您傳遞多個參數,但你的函數只使用第一個。
在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);
難道你看看[文件](https://developer.mozilla.org/en-US/docs/Web/JavaScript/參考/ Global_Objects /數學/最大)? –
max不接受數組作爲輸入。所以Math.max(ArrayList)將返回NaN – Mahi
你沒有傳遞數組;你傳遞了五個獨立的參數,並給第一個參數賦予名字「arr」。其他參數值只能通過'arguments'關鍵字訪問。 –