将 rot13 编码的字符重新连接在一起



这是挑战:凯撒密码 -字母移动了13个位置。因此,"A"N","Q"↔ ↔"D"等等。

将 ROT13 编码字符串作为输入并返回解码字符串的函数。 所有字母都将是大写的。不要转换任何非字母字符(即空格、标点符号(,但要传递它们。

*我得到了正确的输出,但目前,每个字母都是一个字符串。有没有办法将所有单独的字母组合成一个句子*

function rot13(str) {
var original = str.split('')
var alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split('')
let i = 0;
while(i<original.length){
let indexVal = alphabet.indexOf(original[i])
if(indexVal>= 13){
indexVal -=13
}else if(indexVal===-1){
indexVal = 33
}
else{
indexVal += 13
}
var final = alphabet[indexVal]
i++;
console.log(final)
}
}
rot13("SERR CVMMN");//should log FREE PIZZA
/* 
currently logs:
F
R
E
E
undefined
P
I
Z
Z
A
undefined
*/

通了

function rot13(str) {
var original = str.split('')
var alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split('')
let i = 0;
let arr = "";
while(i<original.length){
let indexVal = alphabet.indexOf(original[i])
if(indexVal>= 13){
indexVal -=13
}else if(indexVal===-1){
indexVal = 33
}
else{
indexVal += 13
}
arr+=alphabet[indexVal];
arr = arr.replace(undefined, original[i])
i++;
}
return arr
}
rot13("GUR DHVPX OEBJA SBK WHZCF BIRE GUR YNML QBT.");

相关内容

  • 没有找到相关文章

最新更新