gpt4 book ai didi

javascript - 在 Javascript 中合并树而无需编写循环

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

我有几个包含单个对象的数组,如下所示。我想将这两个结构合并为一个结构:

更改

一组更改,其定义为:

{ 
app_name: "App 1"
2017: {fYear: 2017, changesCount: 37},
2018: {fYear: 2018, changesCount: 10}
}

问题

一系列问题的定义是

{ 
app_name: "App 1",
2018: {fYear: 2018, all: 10, typeA: 1, typeB:5, TypeC: 1}
}

最终结果

寻找合并对象的数组,每个对象都是变更和问题的合并:

{ 
app_name: "App 1"
2017: {fYear: 2017, changesCount: 37},
2018: {fYear: 2018, changesCount: 10, all: 10, typeA: 1, typeB:5, TypeC: 1}
}

我当然可以做一个循环,但对我来说似乎不是最好的,所以我一直在尝试研究map和reduce函数,但到目前为止还没有运气。

有什么推荐吗?

谢谢!

最佳答案

let a = {
app_name: "App 1",
'2017': { fYear: 2017, changesCount: 37 },
'2018': { fYear: 2018, changesCount: 10 }
}
let b = {
app_name: "App 1",
2018: { fYear: 2018, all: 10, typeA: 1, typeB: 5, TypeC: 1 }
}

let c = { ...a, ...b };
let d = Object.keys(c).reduce((result, item) => {
if (a[item] && typeof a[item] === 'object') {
Object.assign(result[item], a[item])
}
return result;
}, c);

关于javascript - 在 Javascript 中合并树而无需编写循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53810778/

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