gpt4 book ai didi

javascript - 通过匹配 javascript 中的键来添加两个对象

转载 作者:行者123 更新时间:2023-12-01 02:49:16 25 4
gpt4 key购买 nike

我有两个像这样的简单对象。

var obj1 = {
"data": {
"Category": "OUTFLOWS",
"Opening": 3213.11,
"Mar16": 3213.12,
"Apr16": 3148.13,
"May16": 3148.14,
"Jun16": 3148.15,
"July16": 3148.16,
"Aug16": 3148.17,
"Sep16": 3148.18,
"Oct16": 3148.19,
"Nov16": 3148.21,
"Dec16": 3148.22,
"Jan17": 3148.23,
"Feb17": 3148.24,
"ClosingCash": 3544.25
}
}
var obj2 = {
"data": {
"Category": "INFLOWS",
"Opening": 2213.11,
"Mar16": 2213.12,
"Apr16": 2148.13,
"May16": 2148.14,
"Jun16": 2148.15,
"July16": 2148.16,
"Aug16": 2148.17,
"Sep16": 2148.18,
"Oct16": 2148.19,
"Nov16": 2148.21,
"Dec16": 2148.22,
"Jan17": 2148.23,
"Feb17": 2148.24,
"ClosingCash": 2544.25
}
}

现在我想添加这两个对象值并将其存储在另一个对象中。我可以手动添加 obj1.data.Jan17 + obj2.data.Jan17 来完成此操作并得到结果。但在某些情况下,我会获取大量无法手动完成的数据。所以我需要创建一个函数来在匹配键后添加这两个对象并返回一个对象。

我尝试过 Object.keys()获取对象的 key 。但在执行 for 循环后,它会抛出一些错误。我的示例代码是这样的。

let arrayKey = Object.keys(obj1);
for (var i in arrayKey){
obj1.data.arrayKey[i] = obj1.data.arrayKey[i] + obj2.data.arrayKey[i];
}

如果有人愿意帮忙那就太好了。

最佳答案

这会循环 obj1 键,如果它们也存在于 obj2 中,则它们会被求和并设置在 obj3 上

var obj3 = {data: {}};
for(var k in obj1.data){
if(obj2.data[k]){
obj3.data[k] = obj1.data[k] + obj2.data[k];
}
}

关于javascript - 通过匹配 javascript 中的键来添加两个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47072466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com