web-dev-qa-db-fra.com

Ajouter un objet JavaScript à un objet JavaScript

J'aimerais avoir des objets JavaScript dans un autre objet JavaScript en tant que tel:

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...

Donc, j'aimerais que "Issues" contienne chacun de ces objets JavaScript, pour que je puisse juste dire Issues [0] .Name, ou Issues [2] .ID, etc.

J'ai créé l'objet JavaScript Issues externe:

var jsonIssues = {};

J'en suis au point où je dois y ajouter un objet JavaScript, mais je ne sais pas comment. Je voudrais pouvoir dire:

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

Est-ce qu'il y a un moyen de faire ça? Merci.

PDATE: Par les réponses données, a déclaré un tableau, et je pousse les objets JavaScript selon les besoins:

var jsonArray_Issues = new Array();

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

Merci pour les réponses.

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

Comme mon premier objet est un objet javascript natif (utilisé comme une liste d'objets), Push ne fonctionnait pas dans mon escenario, mais je l'ai résolu en ajoutant une nouvelle clé comme suit:

MyObjList['newKey'] = obj;

En plus de cela, peut être utile de savoir comment supprimer le même objet inséré avant:

delete MyObjList['newKey'][id];

J'espère que cela aide quelqu'un comme cela m'a aidé;

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

Si vous souhaitez ajouter au tableau, vous pouvez le faire

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

Ou vous pouvez utiliser la technique Push que l'autre gars a postée, ce qui est également bon.

8
Zoidberg

// Fusionne object2 en object1, récursivement

$.extend( true, object1, object2 );

// Fusionner objet2 en objet1

$.extend( object1, object2 );

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

5
Tneciv