2016-03-21 9 views
-3

ここでは、配列をトラバースする際に問題が発生しています。適切な結果を得ることはできません。 最初のforループが横断しており、別のループが横断しています。配列オブジェクトをjavascript {node js}の以前の配列にプッシュする方法

var f_array = s_array = {}; 

    for (var i = 0; i < 10 ; i++) { 

     var v_c = '1500'; 

     for (var j = 0; j < 20 ; j++) { 

      s_array[j] = 'abc'; 
     }  

     f_array = { 'v_c' : v_c, 'years' : s_array }; 
    } 

console.log(f_array);  // showing only last array object that is i = 9 , I want it all of them. 

ここでは、必要な結果を以下の配列にする必要があります。

{ 
    "v_c": "1500", 
    "years": { 
     "0": "asd", 
     "1": "asd", 
    . 
    . 
    . 
     "9": "asd" 
    } 
}, 
{ 
    "v_c": "1500", 
    "years": { 
     "0": "asd", 
     "1": "asd", 
    . 
    . 
    . 
     "9": "asd" 
    } 
}, 
{ 
    "v_c": "1500", 
    "years": { 
     "0": "asd", 
     "1": "asd", 
    . 
    . 
    . 
     "9": "asd" 
    } 
} 
. 
. 
. 
. 
. 
. 
+3

'{}'はオブジェクトです。これを変更した後の配列は... – elclanrs

+0

です。私の問題は変わりません。 – iam

+0

正しい結果は何ですか? –

答えて

2

あなたの最終的なコードは、あなたが何の問題もありませんので、それは、すべてのf_arrayエントリの新しい配列(s_array)を作成します。この

var f_array = []; 

for (var i = 0; i < 10 ; i++) { 

    var v_c = '1500', 
     s_array = []; 

    for (var j = 0; j < 9 ; j++) { 
     s_array.push('abc'); 
    }  

    f_array.push({ 'v_c' : v_c, 'years' : s_array }); 
} 

ようにする必要があります。 f_arrayは、示したようにオブジェクトの配列にする必要があります。

関連する問題