我不从概念上理解为什么console.log会引发错误。
错误是:未捕获的TypeError:无法读取未定义的属性'toLowerCase'在重新排列(:6:18)在:13:1
let consonants = [];
let s = "ellothere";
function rearranger(input) {
for (let i = 0; i <= input.length; i++) {
if (s[i].toLowerCase() === "a" || s[i].toLowerCase() === "e" || s[i].toLowerCase() === "i" || s[i].toLowerCase() === "o" || s[i].toLowerCase() === "u") {
vowels = [...vowels, s[i]];
} else {
consonants = [...consonants, s[i]];
}
}
}
rearranger(s);
console.log(vowels, consonants);
将for
循环更改为:
for (let i = 0; i < input.length; i++)
或
for (let i = 0; i <= input.length -1 ; i++)
否则,您将遍历字符串的末尾并得到错误。