我的 ROT13 JS 函数在大多数情况下都可以正常工作,但有些字符会出现错误,例如HELLO
返回U,R,Y,Y,\
.
有人可以向我解释我做错了什么吗?
Ps 我正在参加 freeCodeCamp Caesars Cipher Challenge。
function rot13(str) { // LBH QVQ VG!
var stringArray = str.split("");
var stringArray2 = [];
var stringArray3 = [];
for( var i in stringArray){
var y = stringArray[i].charCodeAt();
y += 13;
stringArray2.push(y);
}
for (var u in stringArray2){
var x = String.fromCharCode(stringArray2[u]);
stringArray3.push(x);
}
var transformed = stringArray3.join().toString();
return transformed;
}
// Change the inputs below to test
console.log(rot13("HELLO"));