在 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 瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.