Me gustaría tener objetos JavaScript dentro de otro objeto JavaScript como tal:

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

Por lo tanto, me gustaría que "Issues" contenga cada uno de estos objetos JavaScript, de modo que solo pueda decir Issues [0] .Name, o Issues [2] .ID, etc.

He creado el objeto JavaScript Problemas externos:

var jsonIssues = {};

Estoy en el punto donde necesito agregarle un objeto JavaScript, pero no sé cómo. Me gustaría poder decir:

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

¿Hay alguna forma de hacer esto? Gracias.

ACTUALIZACIÓN: Por respuestas dadas, declaró una matriz y estoy presionando objetos JavaScript según sea necesario:

var jsonArray_Issues = new Array();

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

Gracias por las respuestas

38
MegaMatt 17 nov. 2009 a las 20:01

4 respuestas

La mejor respuesta
var jsonIssues = []; // new Array
jsonIssues.push( { ID:1, "Name":"whatever" } );
// "push" some more here
50
John Kugelman 4 sep. 2012 a las 17:06

// Combinar object2 en object1, recursivamente

$.extend( true, object1, object2 );

// Combinar objeto2 en objeto1

$.extend( object1, object2 );

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

5
Tneciv 12 dic. 2015 a las 01:46
var jsonIssues = [
 {ID:'1',Name:'Some name',Notes:'NOTES'},
 {ID:'2',Name:'Some name 2',Notes:'NOTES 2'}
];

Si desea agregar a la matriz, puede hacerlo

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

O puede usar la técnica de empuje que publicó el otro tipo, que también es buena.

8
Zoidberg 17 nov. 2009 a las 17:20

Como mi primer objeto es un objeto javascript nativo (usado como una lista de objetos), push no funcionó en mi escenario, pero lo resolví agregando una nueva clave de la siguiente manera:

MyObjList['newKey'] = obj;

Además de esto, puede ser útil saber cómo eliminar el mismo objeto insertado antes:

delete MyObjList['newKey'][id];

Espero que ayude a alguien como me ayudó a mí;

22
Alex 14 ago. 2019 a las 07:53