在 JavaScript 中将每个字母向前移动 10 个位置


问题

我们需要编写一个 JavaScript 函数,该函数接受一个英文字母字符串。我们的函数应将每个字母向前移动 10 个位置。如果超过 'z',则我们应从 'a' 重新开始。

示例

以下即为代码 −

 实际演示

const str = 'sample string';
const moveStrBy = (num = 10) => {
   return str => {
      const calcStr = (ch, code) => String
      .fromCharCode(code + (ch.charCodeAt(0) - code + num) % 26);
      const ACode = 'A'.charCodeAt(0);
      const aCode = 'a'.charCodeAt(0);
      return str.replace(/[a-z]/gi, ch => (
         ch.toLowerCase() == ch
         ? calcStr(ch, aCode)
         : calcStr(ch, ACode)
      ));
   };
};
const moveByTen = moveStrBy();
console.log(moveByTen(str));

输出

ckwzvo cdbsxq

更新于:17-4 月-2021

185 浏览

开启您的 职业生涯

通过完成课程获得认证

开始
广告