Добавить объект JavaScript в объект JavaScript - PullRequest
35 голосов
/ 17 ноября 2009

Я хотел бы иметь объекты JavaScript в другом объекте JavaScript как таковом:

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

Итак, я бы хотел, чтобы «Issues» содержал каждый из этих объектов JavaScript, чтобы я мог просто сказать Issues [0] .Name или Issues [2] .ID и т. Д.

Я создал внешний JavaScript-объект Issues:

var jsonIssues = {};

Я дошел до того, что мне нужно добавить в него объект JavaScript, но не знаю как. Я бы хотел сказать:

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

Есть ли способ сделать это? Спасибо.

ОБНОВЛЕНИЕ: В ответах дано, объявлен массив, и я включаю объекты JavaScript по мере необходимости:

var jsonArray_Issues = new Array();

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

Спасибо за ответы.

Ответы [ 4 ]

46 голосов
/ 17 ноября 2009
var jsonIssues = []; // new Array
jsonIssues.push( { ID:1, "Name":"whatever" } );
// "push" some more here
15 голосов
/ 06 июля 2017

Поскольку мой первый объект является нативным объектом javascript (используется как список объектов), push не работал в моем сценарии, но я решил его, добавив новый ключ следующим образом:

MyObjList['newKey'] = obj;

В дополнение к этому, может быть полезно знать, как удалить тот же объект, вставленный ранее:

delete MyObjList['key'][id];

Надеюсь, это поможет кому-то, так же как и мне;

8 голосов
/ 17 ноября 2009
var jsonIssues = [
 {ID:'1',Name:'Some name',Notes:'NOTES'},
 {ID:'2',Name:'Some name 2',Notes:'NOTES 2'}
];

Если вы хотите добавить в массив, вы можете сделать это

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

Или вы можете использовать технику пуша, которую опубликовал другой парень, что тоже хорошо.

5 голосов
/ 12 декабря 2015

// Слияние object2 с object1, рекурсивно

$.extend( true, object1, object2 );

// Объединить object2 в object1

$.extend( object1, object2 );

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...