2017-02-28 4 views
0

Ich bin ziemlich neu mit Objekten arbeiten, und ich kann es einfach nicht funktionieren, egal wie ich es versuche.Hinzufügen von Elementen zu einem Objekt mit mehreren Eigenschaften

Meine Idee ist, dass ich printObj wie eine Datenbanktabelle behandeln und dann "Datensätze" hinzufügen möchte. (Später dann „Aktualisieren“, um die „Aufzeichnungen“ und schließlich Schleife durch alle sie in einem HTML-Ergebnis Rendering)

Aber ich bekomme immer wieder Uncaught Typeerror: printObj.push ist keine Funktion

var printObj = new Object(); 

printObj.push({ 
    property: 'WAT-606', 
    project: 'Wong Amat Tower', 
    year: 2017, 
    month: 1, 
    bookedPct: 52 
}); 

for (var i=0; i<10; i++) { 
    var addObj = new Object(); 
    addObj["property"] = 'WAT-606'; 
    addObj["project"] = 'Wong Amat Tower'; 
    addObj["year"] = 2017; 
    addObj["month"] = 1; 
    addObj["bookedPct"] = 52+i; 
    printObj.push(addObj); 
} 

Antwort

1

Don t t tun push. Es ist für Arrays. Direkt mit Eigenschaften erzeugen, wie

var printObj = { 
    property: 'WAT-606', 
    project: 'Wong Amat Tower', 
    year: 2017, 
    month: 1, 
    bookedPct: 52 
} 

Wenn Sie weitere hinzufügen möchten, gehen Sie wie

printObj.newProp = val; 

Zuerst lernen Objects vollständig. Diese site helfen Ihnen

+0

Danke für den Link - jetzt habe ich den Unterschied sehen. Tolle Seite übrigens !! – torbenrudgaard

1

Sie sind wirklich für ein Array suchen, die Sie wie folgt erstellen:

var printArr = []; 
 

 
printArr.push({ 
 
    property: 'WAT-606', 
 
    project: 'Wong Amat Tower', 
 
    year: 2017, 
 
    month: 1, 
 
    bookedPct: 52 
 
}); 
 

 
for (var i=0; i<10; i++) { 
 
    var addObj = {}; 
 
    addObj.property = 'WAT-606'; 
 
    addObj.project = 'Wong Amat Tower'; 
 
    addObj.year = 2017; 
 
    addObj.month = 1; 
 
    addObj.bookedPct = 52+i; 
 
    printArr.push(addObj); 
 
} 
 

 
console.log(printArr);

+0

Ahhh danke - Ich muss Objekte noch mehr studieren, verwirre die beiden :) – torbenrudgaard

Verwandte Themen