Javascript 连接数组中的空间
我一直在研究一个ceaser密码算法,但是我还不能理解为什么连接数组以一种特殊的状态返回空格Javascript 连接数组中的空间,javascript,arrays,Javascript,Arrays,我一直在研究一个ceaser密码算法,但是我还不能理解为什么连接数组以一种特殊的状态返回空格 function rot13(str) { // LBH QVQ VG! var string = str.split(''); var codedStr = []; var encoded = []; for (var k=0; k < string.length; k++){ codedStr.push(string[k].charCodeAt()); }
function rot13(str) { // LBH QVQ VG!
var string = str.split('');
var codedStr = [];
var encoded = [];
for (var k=0; k < string.length; k++){
codedStr.push(string[k].charCodeAt());
}
for(var i = 0; i < codedStr.length; i++){
if(codedStr[i] > 77 ){
codedStr[i] -= 13;
}
else if( codedStr[i] == 32 || codedStr[i] == 63){
codedStr[i] = codedStr[i];
}
else{
codedStr[i] += 13;
}
encoded.push(codedStr[i]);
}
var decode = codedStr.map(String.fromCharCode);
var result = decode.join('');
return result;
}
// Change the inputs below to test
console.log(rot13("SERR PBQR PNZC"));
函数rot13(str){//LBH QVQ VG!
变量字符串=str.split(“”);
var codedStr=[];
var编码=[];
for(var k=0;k77){
codedStr[i]-=13;
}
else if(codedStr[i]==32 | | codedStr[i]==63){
codedStr[i]=codedStr[i];
}
否则{
编码器[i]+=13;
}
编码推送(codedStr[i]);
}
var decode=codedStr.map(String.fromCharCode);
var result=decode.join(“”);
返回结果;
}
//将下面的输入更改为测试
控制台日志(rot13(“SERR PBQR PNZC”);
String.fromCharCode
接受多个参数,map
提供3个参数。你应该使用
codedStr.map(code => String.fromCharCode(code));
使用调试器调试代码。这解决了我的问题。我不明白为什么它会吐出更多的空间。