2016-08-31 7 views
4

Ich kann keine Daten in das Array einfügen. Ich möchte es als ein Array. Ich möchte 12 Monate in jeder Zeile hinzufügen. Unten ist mein Code:Daten in Array einfügen

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; müssen Daten sein [i] .val = j + 1; –

+1

@AmrElgarhy das allein funktioniert nicht, weil 'val' ist eine Zeichenfolge und so versuchen Sie tatsächlich, die Eigenschaft' val' anstelle von 'm1',' m2', ... – eisbehr

+0

@eisbehr was soll ich tun – anand

Antwort

1
  1. Ihre array ist ein object! Wenn Sie möchten, dass es ein array ist, müssen Sie var data = {}; zu var data = []; ändern. Aber es wird genauso funktionieren, also macht es keinen Unterschied.
  2. Sie haben die Variable j in Ihrer zweiten for-Schleife nicht deklariert. Sie müssen var davor hinzufügen, wie Sie es in Ihrer ersten Schleife getan haben.
  3. Sie müssen den aktuellen index Ihres object/array angeben, für den Sie die Monate festlegen möchten. Also schreibe data[i] anstelle von data in deine zweite for Schleife.
  4. Da Sie den Wert val als key in Ihrem object/array verwenden möchten, müssen Sie Armschienen [] um ihn legen. Andernfalls setzen Sie nur die Eigenschaft val des Objekts.
  5. Ihre Monate gehen von 1 bis 12. Sie müssen nur j anstelle von j + 1 setzen, weil Sie sonst die Monate von 2 bis 13 schreiben.

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);

Verwandte Themen