将JavaScript对象添加到JavaScript对象

时间:2009-11-17 17:01:09

标签: javascript object add

我希望在另一个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...

所以,我想要“问题”来保存这些JavaScript对象,这样我就可以说问题[0] .Name,或者问题[2] .ID等。

我已经创建了外部问题JavaScript对象:

var jsonIssues = {};

我需要向它添加一个JavaScript对象,但不知道如何。我想能够说:

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

有没有办法做到这一点?感谢。

UPDATE:根据给出的答案,声明一个数组,并根据需要推送JavaScript对象:

var jsonArray_Issues = new Array();

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

感谢您的回复。

5 个答案:

答案 0 :(得分:46)

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

答案 1 :(得分:14)

由于我的第一个对象是本机javascript对象(用作对象列表),push在我的方案中不起作用,但我通过添加新密钥解决了这个问题:

MyObjList['newKey'] = obj;

除此之外,了解如何删除之前插入的同一对象可能很有用:

delete MyObjList['key'][id];

希望它可以帮助我帮助我;

答案 2 :(得分:8)

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'};

或者你可以使用其他人发布的推送技术,这也很好。

答案 3 :(得分:4)

//将object2合并到object1中,递归地

$.extend( true, object1, object2 );

//将object2合并到object1

$.extend( object1, object2 );

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

答案 4 :(得分:0)

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