将新对象添加到现有对象。 Javascript

时间:2021-06-23 07:19:01

标签: javascript

我已阅读 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"}。

1 个答案:

答案 0 :(得分:0)

首先检查你的数组是否存在:

if(newpage["page_no_3"].data1 === undefined){
   newpage["page_no_3"].data1 = [];
}

然后你可以向 data1 添加一个新对象:

newpage["page_no_3"].data1.push(myAwesomeObject);

也许this可以帮助你理解数组和对象的区别