2016-08-31 16 views
4

配列にデータを挿入できません。私は1つの配列としてそれをしたい。私は各行に12ヶ月を追加したい。配列にデータを挿入

var data = {}; 
for (var i = 0; i < 5; i++) { 
    data[i] = { 
     Name: "Sample", 
     Group: "Sample", 
     Offering: "India", 
     Type: "Employee", 
     subject: "Sample", 
     sponser: true 
    }; 

    for (j = 1; j <= 12; j++) { 
     var val = "m" + j; 
     data.val = j + 1; 
    } 
} 
+0

data.val = J + 1。データ[i] .val = j + 1である必要があります。 val'が文字列であるので、実際にあなたの代わりに 'm1'、' m2'のプロパティ 'val'を設定しよう'ためだけでは、動作しません –

+1

@AmrElgarhy ... – eisbehr

+0

私は – anand

答えて

1
  1. あなたarrayobjectである:以下は私のコードです! arrayにする場合はvar data = {};var data = [];に変更する必要があります。しかし、それは同じように動作するので、ここで違いはありません。
  2. あなたは二forループでj変数を宣言していませんでした。最初のループのように、その前にvarを追加する必要があります。
  3. あなたは、あなたがヶ月を設定したいあなたobject/arrayindex電流を指定する必要があります。したがって、dataの代わりにdata[i]を書き、2番目のforループに書き込んでください。
  4. object/arrayvalの値をkeyとして使用する場合は、ブレイサーを[]の周りに配置する必要があります。それ以外の場合は、オブジェクトのプロパティーvalのみを設定します。
  5. あなたヶ月1から12に行きます。 2から13に月を書き込むため、j + 1の代わりにjを設定する必要があります。

var data = {};      // this is an object 
 
            // if it should be an array write 'var data = [];' 
 

 
for(var i = 0; i < 5; i++) { 
 
    data[i] = { 
 
     Name  : "Sample", 
 
     Group : "Sample", 
 
     Offering : "India", 
 
     Type  : "Employee", 
 
     subject : "Sample", 
 
     sponser : true 
 
    }; 
 

 
    for(var j = 1; j <= 12; j++) { // added 'var' before 'j' 
 
     var val = "m" + j; 
 
     data[i][val] = j;   // added '[i]' after 'data' 
 
            // changed '.val' to '[val]' 
 
            // removed '+ 1' after 'j' 
 
    } 
 
} 
 

 
console.log(data);