49

我想在另一个 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";

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

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

var jsonArray_Issues = new Array();

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

感谢您的回复。

4

6 回答 6

58
var jsonIssues = []; // new Array
jsonIssues.push( { ID:1, "Name":"whatever" } );
// "push" some more here
于 2009-11-17T17:09:19.710 回答
38

由于我的第一个对象是本机 JavaScript 对象(用作对象列表),push在我的场景中不起作用,但我通过添加新键解决了它,如下所示:

MyObjList['newKey'] = obj;

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

delete MyObjList['newKey'][id];

希望它能帮助别人,因为它帮助了我。

于 2017-07-06T09:16:18.367 回答
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'};

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

于 2009-11-17T17:04:28.887 回答
5

// 递归合并 object2 到 object1

$.extend( true, object1, object2 );

// 将 object2 合并到 object1

$.extend( object1, object2 );

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

于 2015-12-12T01:46:24.383 回答
2

如果它不是一个对象数组,你可以这样做:

let student= {
  name : 'Mr. Anderson',
  id: 35
}

student['grade'] = 10; //for a property. 

结果:

student= {
  name : 'Mr. Anderson',
  id: 35,
  grade:10
}

您还可以添加一个对象:

let student= {
 personalData:{
  //personal data key-value
 }
}

let academicData = {
 //academic data key-value
}

student['academicData'] = academicData;

结果:

 student{
        personalData{},
        academicData{}
    }
于 2021-09-13T10:05:14.147 回答
0
jsonIssues = [...jsonIssues,{ID:'3',Name:'name 3',Notes:'NOTES 3'}]
于 2020-08-18T13:31:33.217 回答