【发布时间】:2021-02-01 00:40:35
【问题描述】:
我今天遇到了一个很奇怪的问题,需要在这里寻求帮助。
所以我有以下功能,带有一些调试打印输出:
function allLongestStrings(inputArray) {
console.log(inputArray);
inputArray.sort((a,b)=> {
return b.length-a.length;
});
console.log(inputArray);
console.log(inputArray.length)
console.log(inputArray[0].length)
console.log(typeof(inputArray[1]))
// console.log(inputArray[1].length)
}
这段代码sn-p的控制台输出为:
[ 'aba', 'aa', 'ad', 'vcd', 'aba' ]
[ 'aba', 'vcd', 'aba', 'aa', 'ad' ]
5
3
string
当我取消注释最后一行(我试图获取字符串数组中字符串的长度)时,出现以下错误:
TypeError: Cannot read property 'length' of undefined
at allLongestStrings (main.js on line 15:33)
at _runwjbyf (main.js in the pre-written template:28)
at getUserOutputs (main.js in the pre-written template:36)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
这一定是一些愚蠢的编码错误,但谁能告诉我这是什么?
【问题讨论】:
-
请注意您的 .length 如何与数组及其键不一致。删除多余的括号,它应该可以工作
console.log(inputArray[1].length) -
不,它没有,那个括号不存在,而是作为一个绝望的手段添加的。 :( 我已经修改了代码。
-
这是您遇到此问题的确切代码吗? bcz 问题中的 sn-p 按预期工作
-
实际上,我正在研究这个:app.codesignal.com/arcade/intro/level-3只有一个函数...
smooth sailing => 9 -
@lastr2d2,可能是那个网站使用的编译器的问题,我在repl.it/languages/nodejs跑了,没有问题。
标签: javascript arrays string