连接JS对象
Concatenate JS objects
我有两个对象,如下
var data = {
site_name: "my_site",
page_id: "page_name",
city: "New York",
region_code: "NY",
country_code: "US"
},
user_data = {
user: "user_name",
conversion_rate: 1.25
};
我想把这两个对象连接起来,就像下面的一样
user_data = {
user: "user_name",
conversion_rate: 1.25,
site_name: "my_site",
page_id: "page_name",
city: "New York",
region_code: "NY",
country_code: "US"
};
我通过检查typeof user_data.key
在第二个循环来完成。。。。它解决了我的问题,但我的好奇心是不以优化的方式循环。你的任何建议都将不胜感激。
您可以使用ES6:的Object.assign
var combined = Object.assign({}, data, user_data);
甚至:
Object.assign(user_data, data); // this will change `user_data`
如果您可以使用Babel,只需在对象上使用扩散运算符:
var data = {
site_name: "my_site",
page_id: "page_name",
city: "New York",
region_code: "NY",
country_code: "US"
},
user_data = {
user: "user_name",
conversion_rate: 1.25
};
var combined = {
...data,
...user_data
};
console.log(combined);
请看演示。
"Spread属性"仍处于提案的第二阶段,但您可以将其与Babel一起使用
请参阅此处了解有关此功能的更多详细信息。
这将适用于所有浏览器上的示例:
data=JSON.stringify(data);
user_data=JSON.stringify(user_data);
user_data=user_data.replace("}",data.replace("{",","));
user_data=JSON.parse(user_data);
相关文章:
- 使用JS将数组转换为json对象
- 查看JS对象的所有键,甚至是getter定义的键
- 在URL中传递JS对象
- 为什么要包装每一个原型“;类“;JS中具有匿名函数的对象
- 当属性不一致时,如何根据属性对JS对象列表进行排序
- Node.js中的JavaScript原型对象效率
- 如何使用自定义功能覆盖时间轴对象.js时间轴对象的_repaintMinorText
- 如何在第三轴上旋转 3D 对象.js
- 三个中是否有容器类型对象.js来转换一组子对象
- 从 JSON 对象 - JS 周围删除双引号
- 删除对象JS中的节点
- 在对象数组中搜索非空对象JS
- 按未定义的值从数组中选择对象?JS
- 递归循环,直到我们'重新处理对象[JS]
- 向窗口对象-js添加新属性时得到通知
- 如何包含对象/关联数组到对象(js)
- 加载依赖于页面的面向对象JS属性的最好方法是什么?
- 合并新的数组对象到现有的对象js
- 获取带有下划线的数组中的对象.js
- 在带有下划线的嵌套集合中查找对象.js