由于某种原因,我无法看到为什么我的数组连接方法无法正常工作。这是快速的审核代码:

function rot13(str) { // LBH QVQ VG!
  var strAry = str.split('');

  var transformed = strAry.map(function(val){

    if(val === " ") return " ";
    else{
      var code = val.charCodeAt(0);
      return  String.fromCharCode(code-13);
    }
  });
  transformed.join('');
 console.log(transformed);
  return transformed;
}

// Change the inputs below to test
rot13("SERR PBQR PNZC");

这个想法是传递字符串,它将被转换为可读的代码字符串,但是联接不起作用。另外,一些数字转换不正确,不确定为什么要为那个数字加分。

最佳答案

您不保存.join()返回的结果

transformed = transformed.join('');

要么
return transformed.join('');

09-05 16:30