2016-10-03 9 views
-1

たとえば、私は以下のようなオブジェクトを持っています。Javascript:forループ内の配列オブジェクトにデータをプッシュ

私は、これらのすでに

for(var i = 0; i < result.length ; i++){ 
         engagaement.push(result[i].engagement); 
         engagementPercentage.push(result[i].engagementPercentage); 
         name.push(result[i].name); 
         sovId.push(result[i].sovId); 
         volume.push(result[i].volume); 
         volumePercentage.push(result[i].volumePercentage); 
        } 



var test3way = [ 
        {y: engagementPercentage[0], numData : engagaement[0], id: sovId[0]}, 
        {y: engagementPercentage[1], numData : engagaement[1], id: sovId[1]}, 
        {y: engagementPercentage[2], numData : engagaement[2], id: sovId[2]}, 
        {y: engagementPercentage[3], numData : engagaement[3], id: sovId[3]}, 
        {y: engagementPercentage[4], numData : engagaement[4], id: sovId[4]} 
       ] 

を押すと私は重複

for(var i = 0; i < engagementPercentage.length ; i++){ 

     var test3way = [ 
      { 
      y: engagementPercentage[i], 
      numData : engagaement[i], 
      id: sovId[i] 
      }, 
     ]    
    } 

を防ぐために、forループを使用しようとしたが、私はどのように私がすべき、右apporchでやっているように見えていませんそれを修正する?

P.Sのみtest3way変数を複数回定義し、異なるプロパティ値をループの各反復を有するものアレイがvar sovId = [1,56,23]

+0

この質問は複数回返されました... http://stackoverflow.com/questions/9229645/remove-duplicates-from-javascript-array –

+0

最初のコードスニペットは 'sovId [ i] 'がないときは? –

+0

ループの繰り返しごとに配列を宣言しています。変数foroutをforループとして宣言し、オブジェクトを 'test3way'に' .push'します。 –

答えて

2

あなたのコードのように見えるであることを検討してください。配列のプッシュを試すことができます。スコープが唯一のループ内にあるように

var test3way = []; 
for (let i = 0; i < engagementPercentage.length ; i++) { 
    test3way.push({ 
     y: engagementPercentage[i], 
     numData : engagement[i], 
     id: sovId[i] 
    }); 
} 

また、サイドノートに、あなたはループの反復子としてlet i代わりのvar iを記述する必要があります。

関連する問題