我们需要编写一个JavaScript函数,该函数将字符串作为第一个参数,将数字作为第二个参数。
函数应通过将字符串上移给定数字来替换字符串中的每个字母表。
移位应回绕到字母的开头或结尾,就像a应该跟随z而不是未定义或任何无效结果一样。
const str = 'this is a str'; const encryptString = (str = '', num = 1) => { const alphabet = "abcdefghijklmnopqrstuvwxyz".split(""); str = str.toLowerCase(); let res = ""; for (let i = 0; i < str.length; i++) { const letter = str[i]; if (alphabet.indexOf(letter) === -1) { res += letter; continue; } let index = alphabet.indexOf(letter) + num % 26; if (index > 25){ index -= 26; }; if (index < 0){ index += 26; }; if(str[i] === str[i].toUpperCase()){ res += alphabet[index].toUpperCase(); }else{ res += alphabet[index]; }; } return res; }; console.log(encryptString(str, 4));
输出结果
控制台中的输出将是-
xlmw mw e wxv