将JavaScript对象添加到JavaScript对象

Meg*_*att 38 javascript add object

我想在另一个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...
Run Code Online (Sandbox Code Playgroud)

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

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

var jsonIssues = {};
Run Code Online (Sandbox Code Playgroud)

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

Issues<code here>.Name = "Missing Documentation";
Issues<code here>.ID = "1";
Issues<code here>.Notes = "Notes, notes notes";
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?谢谢.

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

var jsonArray_Issues = new Array();

jsonArray_Issues.push( { "ID" : id, "Name" : name, "Notes" : notes } );
Run Code Online (Sandbox Code Playgroud)

谢谢你的回复.

jld*_*ont 49

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


Ale*_*lex 20

由于我的第一个对象是本机javascript对象(像对象列表一样使用),push在我的escenario中不起作用,但我通过添加新密钥解决了它,如下所示:

MyObjList['newKey'] = obj;
Run Code Online (Sandbox Code Playgroud)

除此之外,可能有用的知道如何删除之前插入的同一个对象:

delete MyObjList['newKey'][id];
Run Code Online (Sandbox Code Playgroud)

希望它可以帮助我,因为它帮助了我;

  • 这似乎是op原始问题的最佳技术答案. (5认同)

Zoi*_*erg 8

var jsonIssues = [
 {ID:'1',Name:'Some name',Notes:'NOTES'},
 {ID:'2',Name:'Some name 2',Notes:'NOTES 2'}
];
Run Code Online (Sandbox Code Playgroud)

如果要添加到阵列,则可以执行此操作

jsonIssues[jsonIssues.length] = {ID:'3',Name:'Some name 3',Notes:'NOTES 3'};
Run Code Online (Sandbox Code Playgroud)

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

  • 我相信 OP 也想知道如何*添加*对象到你所拥有的。 (2认同)

小智 5

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

$.extend( true, object1, object2 );
Run Code Online (Sandbox Code Playgroud)

//将object2合并到object1中

$.extend( object1, object2 );
Run Code Online (Sandbox Code Playgroud)

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