繁体   English   中英

向javascript结构中添加一个额外的对象

[英]Add an extra object to a javascript structure

所以我有这样的结构,我可以从中获取数据

data {
   one: one
   two: two
   additional {
      three: three
      four: four
   }
}

additional是内部data 我无法编辑它,因为我是从后端获得的。

我也抓住另一个结构

data2 {
   one: one
   two: two         
   three: three
   four: four
}

我希望这两个结构相同,所以我可以用同一段代码来解析它们。 有没有一种方法可以在data2添加一个额外的对象,因此它将变成

data2 {
   one: one
   two: two
   additional2 {
      three: three
      four: four
   }
}

谢谢

data2.additional2 = {
    three : 3,
    four : 4
};

还是动态地...

data2.additional2 = {};
for (var prop in data.additional) {
    eval('data2.additional2.' + prop + ' = data.additional.' + prop + ';');
}

假设附加的每个属性都很简单。 您可以执行一些更复杂的递归检查和属性复制。 或者,只需为其分配整个对象克隆。 取决于你自己:)

这里有很多要讨论的地方,

  1. 您的JSON格式无效。 它应该是

    数据2 = {一个:“一个”,两个:“两个”,附加:{foo:“酒吧”}}

  2. 之后,您可以像这样使用Object.assign

     Object.assign(data2, {additional: {foo: 'bar'}}) 

完成!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM