2016-03-09 84 views
4

由於某種原因我不明白爲什麼我的數組連接方法不會工作。這裏的審查快速編碼:陣列連接功能不工作

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"); 

的想法是在字符串中傳遞,它會被轉換爲可讀的代碼串,但加入不工作。此外,一些數字不能正確轉換,不知道爲什麼,該獎勵積分。

回答

4

不保存返回結果的.join()

transformed = transformed.join(''); 

return transformed.join(''); 
0

替換該會工作

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 = transformed.join(''); 
console.log(transformed); 
    return transformed; 
} 

jsfiddle link

+2

不要說「_replace的這將工作_「你應該解釋你改變了什麼,爲什麼。 – csmckelvey

+0

@takendarkk對不起,代碼中有錯誤 –