【发布时间】:2018-05-07 18:57:25
【问题描述】:
我有以下代码来查找数组中的最大数:
function max(input) {
var maxNum = 0;
for(var i = 0; i <= input.length; i++) {
if(maxNum < input[i]) {
maxNum = input[i];
}
}
return maxNum;
}
max([1, 2, 3, 7]);
当我在 Google Chrome、Edge 或 Firefox 中运行它时,我得到:
max.js:20 Uncaught TypeError: Cannot read property 'length' of undefined
at max (max.js:20)
at <anonymous>:1:1
但是当我在 pythontutor 上运行 JavaScript 时,我得到了正确的结果,没有任何语法错误。
【问题讨论】:
-
我将其复制并粘贴到我的 chrome 控制台中,然后将 7 无误地返回给我。
-
和
Chromium Version 65.0.3325.181没有错误! -
您可能正在调用
max,但代码/控制台中的其他地方没有任何参数。 -
另外检查应该是
i < input.length而不是i <= input.length。 -
您的解决方案无法通过我过去提供的面试测试。
max([-1, -2]);
标签: javascript arrays function for-loop google-chrome-devtools