处理稍微复杂一点的字符串

要求返回一个以元音字母开头的字符串,将前面的辅音字母移动到后面,再加上ay作为后缀,如果以元音字母打头,则加上“way”返回,没有元音字母则直接在末尾添加“ay”后缀。

这是题目概述


translatePigLatin("california") should return "aliforniacay".
Passed
translatePigLatin("paragraphs") should return "aragraphspay".
Passed
translatePigLatin("glove") should return "oveglay".
Passed
translatePigLatin("algorithm") should return "algorithmway".
Passed
translatePigLatin("eight") should return "eightway".
Passed
Should handle words where the first vowel comes in the end of the word.
Passed
Should handle words without vowels.

这是代码


function translatePigLatin(str) {
  let vovelRegex = /^[aeiou]/;//使用正则表达式来匹配元音字母
  let x = str.length;//将字符串长度保存到一个全局变量,方便执行循环操作
  if (vovelRegex.test(str))
    {
      str = str.concat("way");
      return str;
    }//如果第一个字符是元音,直接返回原字符加上“way”。
  for (let i = 0; i < x; i++)//遍历一个字符串的所有字母
  {
    if (vovelRegex.test(str))
    {
      return str + "ay";
    }//如果匹配到元音,直接返回字符加后缀
    else 
    {
      var slice1 = str.slice(0,1)
      var slice2 = str.slice(1,str.length);
      str = slice2 + slice1;
    }//如果没有匹配到元音的话,就把前面一个辅音字母添加到后面,执行下一次循环
  }
  return str + "ay";//如果是全面辅音,则直接返回加“ay”后缀的字符
}

console.log(translatePigLatin("consonant"));

你可能感兴趣的:(处理稍微复杂一点的字符串)