gpt4 book ai didi

javascript - 将参数拆分为数组,现在在子作用域中得到未定义的值

转载 作者:行者123 更新时间:2023-11-28 17:18:30 25 4
gpt4 key购买 nike

我收到错误:

Uncaught TypeError: Cannot read property 'length' of undefined on line 5

当我将其输入控制台时。我不知道为什么它说 senArr[i] is undefined 当它被分割成一个数组然后传递到 for 循环时。

我一直在试图找出为什么会出现此错误...

-for 循环确实可以访问父作用域

-senArr 被分割成一个数组,我没有发现获取每个索引中存储的字符串长度有任何问题。

出于想法,我开始认为问题出在代码的其他地方。

function LongestWord(sen) { 
var senArr = sen.split(' ');
var longestWord = senArr[0];
for (let i = 1; i <= senArr.length; i++) {
if (senArr[i].length > longestWord.length) {
longestWord = senArr[i];
}
} return longestWord;
}

最佳答案

啊,改变你的<=<因为数组中的最后一个索引是 senArr.length - 1 .

function LongestWord(sen) {
var senArr = sen.split(' ');
var longestWord = senArr[0];
for (let i = 1; i < senArr.length; i++) {
console.log('i is ', i, ' and word is ', senArr[i]);
if (senArr[i].length > longestWord.length) {
longestWord = senArr[i];
}
}
return longestWord;
}

console.log(LongestWord('hi there this is a test'));

<=您超出了最后一个索引(i 在上面的示例中变为 6),并且该索引处没有字符串,这就是您看到错误的原因。

关于javascript - 将参数拆分为数组,现在在子作用域中得到未定义的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52933488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com