2017-08-20 3 views
0

私は次のことがあります。マップ内のcharCodeAt()は、元の配列を返します。

function rot13(str) { 
var result = str.split(""); 
    result.map(function(val) { 
    return val.charCodeAt(); 
    }); 
} 
rot13("SERR PBQR PNZC"); 

私はこれを実行したときが返される配列は、入力配列

["S", "E", "R", "R", " ", "P", "B", "Q", "R", " ", "P", "N", "Z", "C"] 

と同じである誰かが、これは動作していない理由を私は理解する助けてもらえますか?

+1

(result.map ''前return'を追加します... ' –

+1

' result.map'は新しいARRAYを返します。 'var newArray = result.map ......' - ああ、ええ、@ RudolfManusadzhianが言ったことはより正確です:p –

+0

note '返された配列'。 .. rot13は未定義を返しますので、返される配列はありません –

答えて

2

Array.mapは、新しい配列を作成し、元の配列を変異させていないので、あなたは明示的にそれを返すか、変数に代入する必要があります。

function rot13(str) { 
var result = str.split(""); 
return result.map(function(val) { 
    return val.charCodeAt(); 
}); 
} 
関連する問題