1 回答

TA貢獻(xiàn)1836條經(jīng)驗(yàn) 獲得超5個(gè)贊
您不需要將句子分成單個(gè)單詞,因?yàn)槟鷮Σ榭磫卧~不感興趣,而是對句子中的單個(gè)字符感興趣??紤]到這一點(diǎn),您可以使用現(xiàn)有的當(dāng)前循環(huán),并為每個(gè)循環(huán)i從索引處的輸入句子中獲取當(dāng)前字符i。
如果當(dāng)前字符是元音(即:如果它包含在元音字符串中),則您知道當(dāng)前字符是元音,因此,您可以將由 a 分隔的當(dāng)前字符添加到輸出字符串中"b"。否則,如果它不是元音,您可以將當(dāng)前字符添加到輸出字符串中。
請參閱下面的示例:
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 方法來幫助你實(shí)現(xiàn)這一點(diǎn),你可以使用.replace()
正則表達(dá)式。盡管如此,在深入研究正則表達(dá)式之前,最好嘗試并理解上面的代碼:
const abaTranslate = sentence => sentence.replace(/[aeiou]/ig, "$&b$&");
console.log(abaTranslate("Cats and dogs")); // returns "Cabats aband dobogs"
添加回答
舉報(bào)