Javascript 连接数组中的空间

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()); }

我一直在研究一个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()); 
  }
  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));

使用调试器调试代码。这解决了我的问题。我不明白为什么它会吐出更多的空间。