2017-07-12 6 views
0

私は小道具をループし、親と子を変数にプッシュしようとしています。私は現在、あるべき反復ネイティブの別の配列内のループ配列

enter image description here

期待される結果を何が起こっているされたループを得ることができるとプッシュ正しく動作しますが、そのそれぞれの親の下

var options = []; 
    var option = []; 
    Object.keys(this.props.data.options).forEach((key, index) => { 
     options.push(
     <AddToCartRow key={index} option={key} options={option} cartKey={this.props.cartKey} />, 
     Object.values(this.props.data.options[key]).forEach((value, index) => { 
      option.push(value) 
     }) 
    ) 
    }) 

下のすべての子供たちをプッシュするように見えます

サイズ - 0価格:3.95、タイトル:小] - 1 [価格:4.95、タイトル:大]

ブレンド - 0 [価格:0、タイトル:正規] - 1 [価格:0、タイトル:カフェイン]

など

答えて

1

あなたが配列に要素をプッシュするとの問題を抱えているようです。私は以下のようにあなたがあなたのケースでoptionsあるメイン結果の配列に、一時配列にあなたの子供のループデータをプッシュし、する必要が

for (let parentData of mainObj) { 
    let tempArray = []; // need to declare here 
    for (let childData of parentData.someField) { 
     tempArray.push({ 
      ... 
     }); 
    } 
    finalArray.push(tempArray); 
} 

行うことで管理しています。

+0

これは私がすでにやっていることではありません。私は主ループ内に子ループを持っています。 –

+1

似ていますが、唯一の違いは上記の 'var option = [];'です。したがって、新しい配列として作成され、プライマリループに追加されるたびに –

関連する問題