2016-11-20 18 views
0

文字列をユニコード値の配列に変換できる関数を作成しました。今、私はこの配列を文字列に戻す方法が必要です。私は、私は何も戻ってきていないのですString.fromCharCode()ユニコード値の配列を文字列に変換する

function rot13(str) { 
 

 
     var string = str.toUpperCase(); 
 
     var myArray = []; 
 

 
     for (var i = 0; i < string.length; i++) { 
 
     myArray.push(string.charCodeAt([i])); 
 
     } 
 

 
     var b = String.fromCharCode(myArray); 
 
     return b; 
 
    } 
 

 
    rot13("SERR PBQR PNZC");

を使用していますか?

+1

'String.fromCharCode(myArray);' ...配列としての引数????? –

答えて

0

String.fromCharCode()パラメータとして数値のリストではなく、アレイを受け付ける(後日iがアレイ内の各ユニコードに13を追加することを計画しています)。あなたは、あなたのコードで

function rot13(str) { 
 

 
    var string = str.toUpperCase(); 
 
    var myArray = []; 
 

 
    for (var i = 0; i < string.length; i++) { 
 
    myArray.push(string.charCodeAt(i)); 
 
    } 
 

 
    var b = String.fromCharCode(...myArray); 
 
    return b; 
 
} 
 

 
console.log(rot13("SERR PBQR PNZC"));

0

あなたの代わりに、配列のためString.fromCharCodeを適用している。

function rot13(str) { 
 

 
    var string = str.toUpperCase(); 
 
    var myArray = []; 
 

 
    for (var i = 0; i < string.length; i++) { 
 
    myArray.push(string.charCodeAt(i)); 
 
    } 
 

 
    var b = String.fromCharCode.apply(String, myArray); 
 
    return b; 
 
} 
 

 
console.log(rot13("SERR PBQR PNZC"));

またはES6の広がりを使用する:あなたは、配列を適用することができますcharCodeを引数として指定する必要があります。

結果は、String.fromCharCodeを使用してforループ内で実行できます。

function rot13(str) { 
 
    var string = str.toUpperCase(); 
 
    var res=''; 
 
    for (var i = 0; i < string.length; i++) { 
 
    res += String.fromCharCode(string.charCodeAt([i])); 
 
    } 
 
    return res; 
 
} 
 

 
rot13("SERR PBQR PNZC");


またはspread syntax(...)又はFunction#apply方法を使用して、引数として値の配列を提供します。

0

ドキュメントごとに、メソッドは引数ではなく配列として個々の値を取ります。スプレッド演算子を適用または使用して、作業を完了させることができます。

function rot13(str) { 
 

 
    var string = str.toUpperCase(); 
 
    var myArray = []; 
 

 
    for (var i = 0; i < string.length; i++) { 
 
    myArray.push(string.charCodeAt([i])); 
 
    } 
 

 
    return String.fromCharCode(...myArray); 
 
    //return b; 
 
} 
 

 
console.log(rot13("SERR PBQR PNZC"));

0

ちょうどそれは、配列要素を変換する必要があり、myArray.toString();を使用しています。

+0

私は、ポイントが文字コードを取得していると思うし、それらといくつかの操作を行い、文字列に新しいものを変換します。 – Oriol

+0

@Oriol、すべての必要な操作が完了したときに 'toString()'を使うだけです –

関連する問題