【发布时间】:2019-12-04 15:37:41
【问题描述】:
我有以下 JS 函数,它从字符串中删除元音并将其输出到控制台。
对于输入字符串“quickbrownfox”,函数会跳过连续的 u 和 i 元音,有人可以指出逻辑错误。
function vowels(s) {
var arr = [...s];
for (var i = 0; i < arr.length; i++) {
var x = arr[i];
switch (x) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
var out = arr.splice(i, 1);
console.log(out[0]);
}
}
}
vowels("quickbrownfox")
【问题讨论】:
-
当你拼接出一个字符时,你改变了索引的有效含义(
i)。如果你在找到每个元音时从i中减去 1,它会起作用。 -
或者复制字符串
标签: javascript arrays switch-statement