在 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
廣告
資料結構
網路技術
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP