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 " retienne chacun de ces objets JavaScript, pour que je puisse juste dire Issues[0].Name, or Issues[2].ID, etc.
j'ai créé L'objet JavaScript exterior Issues:
var jsonIssues = {};
j'en suis au point où j'ai besoin d'ajouter un objet JavaScript, mais ne savent pas comment. J'aimerais être capable de dire:
Issues<code here>.Name = "Missing Documentation";
Issues<code here>.ID = "1";
Issues<code here>.Notes = "Notes, notes notes";
y a-t-il un moyen de faire cette? Grâce.
mise à jour: Par les réponses données, a déclaré un tableau, et je suis de pousser des objets JavaScript sur:
var jsonArray_Issues = new Array();
jsonArray_Issues.push( { "ID" : id, "Name" : name, "Notes" : notes } );
Merci pour les réponses.
4 réponses
var jsonIssues = []; // new Array
jsonIssues.push( { ID:1, "Name":"whatever" } );
// "push" some more here
Comme mon premier objet est un natif javascript object (utilisée comme une liste d'objets), push
n'a pas fonctionné dans mon escenario, mais je l'ai résolu en ajoutant une nouvelle touche comme suit:
MyObjList['newKey'] = obj;
En plus de cela, peut être utile pour savoir comment supprimer un même objet inséré, avant l':
delete MyObjList['key'][id];
j'Espère que ça aide quelqu'un comme ça qui m'ont aidé;
var jsonIssues = [
{ID:'1',Name:'Some name',Notes:'NOTES'},
{ID:'2',Name:'Some name 2',Notes:'NOTES 2'}
];
Si vous voulez ajouter à l'éventail, alors vous pouvez le faire
jsonIssues[jsonIssues.length] = {ID:'3',Name:'Some name 3',Notes:'NOTES 3'};
Ou vous pouvez utiliser la technique de poussée que l'autre gars a posté, ce qui est également bon.
/ / fusionner object2 en object1, récursivement
$.extend( true, object1, object2 );
// fusionner l'object2 dans l'object1
$.extend( object1, object2 );