为了账号安全,请及时绑定邮箱和手机立即绑定

编写一个方法,接收句子字符串并返回代表其阿巴翻译的新句子

编写一个方法,接收句子字符串并返回代表其阿巴翻译的新句子

小怪兽爱吃肉 2023-09-21 10:44:51
初学者编码器和我很困惑,如果我的包含方法是错误的。也许我应该创建一个数组并将字符推入?我走在正确的轨道上吗?Aba 是一种交换秘密信息的德国儿童游戏。在 Aba 中,在每个元音后面添加“b”并添加相同的元音。编写一个方法,该方法接受句子字符串并返回代表其 Aba 翻译的新句子。原句子中的大写单词在新句子中应正确大写。function abaTranslate(sentence) {  var words = sentence.split(" ");  const vowels = 'AEIOUaeiou';  var newStr = "";  var char = words[i];  for (var i = 0; i < sentence.length; i++) {    if (words.includes(vowels)) {      newStr += (words + "b")    }  }  return newStr;}console.log(abaTranslate("Cats and dogs")); // returns "Cabats aband dobogs"
查看完整描述

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"



查看完整回答
反对 回复 2023-09-21
  • 1 回答
  • 0 关注
  • 59 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信