web-dev-qa-db-de.com

Fügen Sie dem JavaScript-Objekt ein JavaScript-Objekt hinzu

Ich möchte JavaScript-Objekte in einem anderen JavaScript-Objekt als solches haben:

Issues:

  - {"ID" : "1", "Name" : "Missing Documentation", "Notes" : "Issue1 Notes"}
  - {"ID" : "2", "Name" : "Software Bug", "Notes" : "Issue2 Notes, blah, blah"}
  - {"ID" : "2", "Name" : "System Not Ready", "Notes" : "Issue3 Notes, etc"}
  // etc...

Ich möchte also, dass "Issues" jedes dieser JavaScript-Objekte enthält, damit ich nur Issues [0] .Name oder Issues [2] .ID usw. sagen kann.

Ich habe das äußere Issues-JavaScript-Objekt erstellt:

var jsonIssues = {};

Ich bin an dem Punkt angelangt, an dem ich ein JavaScript-Objekt hinzufügen muss, weiß aber nicht, wie. Ich möchte sagen können:

Issues<code here>.Name = "Missing Documentation";
Issues<code here>.ID = "1";
Issues<code here>.Notes = "Notes, notes notes";

Gibt es eine Möglichkeit, dies zu tun? Vielen Dank.

PDATE: Pro Antwort wurde ein Array deklariert und bei Bedarf werden JavaScript-Objekte aufgeschoben:

var jsonArray_Issues = new Array();

jsonArray_Issues.Push( { "ID" : id, "Name" : name, "Notes" : notes } );

Danke für die Antworten.

36
MegaMatt
var jsonIssues = []; // new Array
jsonIssues.Push( { ID:1, "Name":"whatever" } );
// "Push" some more here
46
jldupont

Da mein erstes Objekt ein natives Javascript-Objekt ist (das wie eine Liste von Objekten verwendet wird), hat Push in meinem Szenario nicht funktioniert, aber ich habe es gelöst, indem ich den folgenden neuen Schlüssel hinzugefügt habe:

MyObjList['newKey'] = obj;

Darüber hinaus kann es nützlich sein zu wissen, wie dasselbe Objekt gelöscht wird, das zuvor eingefügt wurde:

delete MyObjList['newKey'][id];

Hoffe, es hilft jemandem, wie es mir geholfen hat;

19
Alex
var jsonIssues = [
 {ID:'1',Name:'Some name',Notes:'NOTES'},
 {ID:'2',Name:'Some name 2',Notes:'NOTES 2'}
];

Wenn Sie dem Array hinzufügen möchten, können Sie dies tun

jsonIssues[jsonIssues.length] = {ID:'3',Name:'Some name 3',Notes:'NOTES 3'};

Oder Sie können die Push-Technik verwenden, die der andere Typ gepostet hat, was auch gut ist.

8
Zoidberg

// Objekt2 rekursiv in Objekt1 zusammenführen

$.extend( true, object1, object2 );

// Füge Objekt2 in Objekt1 zusammen

$.extend( object1, object2 );

https://api.jquery.com/jquery.extend/

5
Tneciv