javascript - 如何将这 2 个对象合并为 1 个?
问题描述
我有 2 个对象:
var set1 = {
name: "2020-02-17T00:00:00",
series: [
{ key: "055", value: 1154.47},
{ key: "056", value: 4132.2},
{ key: "059", value: 1825.33}
]
}
var set2 = {
startdate: "2020-02-17T00:00:00",
series: [
{key: "005",value: 0},
{key: "055",value: 0},
{key: "056",value: 0},
{key: "059",value: 0},
{key: "042",value: 0},
{key: "M002",value: 0}
]
}
如何在不覆盖任何值为 0 的键的情况下将 set1 的值推送到 set2 上:
var set2 = {
startdate: "2020-02-17T00:00:00",
series: [
{key: "005", value: 0},
{key: "055", value: 1154.47},
{key: "056", value: 4132.2},
{key: "059", value: 1825.33},
{key: "042", value: 0},
{key: "M002", value: 0}
]
}
相关代码,可以看这里:https ://jsfiddle.net/xLr8qoes/1/
解决方案
set2.series = [ ...set2.series, ...set1.series ];
这会将 set2 系列设置为
[
{
"key": "005",
"value": 0
},
{
"key": "055",
"value": 0
},
{
"key": "056",
"value": 0
},
{
"key": "059",
"value": 0
},
{
"key": "042",
"value": 0
},
{
"key": "M002",
"value": 0
},
{
"key": "055",
"value": 1154.47
},
{
"key": "056",
"value": 4132.2
},
{
"key": "059",
"value": 1825.33
},
{
"key": "055",
"value": 1154.47
},
{
"key": "056",
"value": 4132.2
},
{
"key": "059",
"value": 1825.33
}
]
推荐阅读
- java - 在颤振中的 MainActivity.java 中找不到嵌入
- google-chrome - 如何知道 getDisplayMedia() 共享了哪个屏幕
- api - 当我通过 /crumbIssuer/api/xml?xpath=concat(//crumbRequestField,%22:%22,//crumb) 作为“路径”属性来获取函数时,它会被 url 编码
- google-chrome-extension - 我想知道根据弹出结果改变谷歌扩展图标的程序代码
- microsoft-graph-api - 无法在 Graph 中搜索网站
- google-cloud-platform - Cloud Firestore 的审核日志包括删除集合?
- python - 站点可以通过其他站点上的 iframe 检测机器人吗?
- python - 我如何将 kepler.gl 与 Django 后端一起使用
- python - 无法在 VS 代码中读取文本文件(Python)
- jquery - jQuery:在父级中选择具有类名的内部和外部第一个元素