使用 JavaScript 移动元音和辅音


问题

我们需要编写一个 JavaScript 函数,它接受一个英语字母的字符串。我们的函数构建一个新字符串,每个辅音应通过字母表向前推进 9 个位置。如果经过“z”,则从“a”重新开始。每个元音应向前推进 5 个位置。

示例

以下代码 −

 Live Demo

const str = 'sample string';
const moveWords = (str = '') => {
   str = str.toLowerCase();
   const legend = 'abcdefghijklmnopqrstuvwxyz';
   const isVowel = char => 'aeiou'.includes(char);
   const isAlpha = char => legend.includes(char);
   let res = '';
   for(let i = 0; i < str.length; i++){
      const el = str[i];
      if(!isAlpha(el)){
         res += el;
         continue;
      };
      let pos;
      const ind = legend.indexOf(el);
      if(isVowel(el)){
         pos = (21 + ind) % 26;
      }else{
         pos = (ind + 9) % 26;
      };
      res += legend[pos];
   };
   return res;
};
console.log(moveWords(str));

输出

bvvyuz bcadwp

更新于: 17-4-2021

205 人次浏览

开启你的 职业生涯

完成课程,获得认证

开始学习
广告