我已阅读 SO 和其他但更复杂的 供参考:
let newpage = {
page_no_3: {
data1: [{index: 1, text: "test1"}],
data2: [{index: 1, text: "test2"}],
}
}
当我添加新对象时我想发生什么:
let newpage = {
page_no_3: {
data1: [{index: 1, text: "test2"}, {index: 2, text: "test3"}, ...]
data2: [{index: 1, text: "test2"}, {index: 2, text: "test4"}, ...]
}
}
注意:对不起,它不应该是一个数组,而是一个对象。
NOTE2:再次抱歉。它应该是以对象为元素的数组。
PS:当我在插入之前尝试获取 data1 的数据时,它给了我一个未定义的错误。我是这样试的:
let page_no = 'page_no_3'
if (nextpage.length == 0) {
///
} else { // Both undefined
console.log(nextpage[page_no].data1)
console.log(nextpage["page_no_3"].data1)
}
但如果我只有 console.log(nextpage[page_no])
,我可以看到 {index: 1, text: "test2"}。
答案 0 :(得分:0)
首先检查你的数组是否存在:
if(newpage["page_no_3"].data1 === undefined){
newpage["page_no_3"].data1 = [];
}
然后你可以向 data1 添加一个新对象:
newpage["page_no_3"].data1.push(myAwesomeObject);
也许this可以帮助你理解数组和对象的区别