1 回答
TA贡献1836条经验 获得超5个赞
您不需要将句子分成单个单词,因为您对查看单词不感兴趣,而是对句子中的单个字符感兴趣。考虑到这一点,您可以使用现有的当前循环,并为每个循环i从索引处的输入句子中获取当前字符i。
如果当前字符是元音(即:如果它包含在元音字符串中),则您知道当前字符是元音,因此,您可以将由 a 分隔的当前字符添加到输出字符串中"b"。否则,如果它不是元音,您可以将当前字符添加到输出字符串中。
请参阅下面的示例:
function abaTranslate(sentence) {
const vowels = 'AEIOUaeiou';
var newStr = "";
for (var i = 0; i < sentence.length; i++) {
var currentCharacter = sentence[i];
if (vowels.includes(currentCharacter)) { // the current character is a vowel
newStr += currentCharacter + "b" + currentCharacter;
} else {
newStr += currentCharacter; // just add the character if it is not a vowel
}
}
return newStr;
}
console.log(abaTranslate("Cats and dogs")); // returns "Cabats aband dobogs"
如果你想使用 JS 方法来帮助你实现这一点,你可以使用.replace()
正则表达式。尽管如此,在深入研究正则表达式之前,最好尝试并理解上面的代码:
const abaTranslate = sentence => sentence.replace(/[aeiou]/ig, "$&b$&");
console.log(abaTranslate("Cats and dogs")); // returns "Cabats aband dobogs"
添加回答
举报