gpt4 book ai didi

javascript - 使用 Lodash 展平嵌套对象

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:57:00 25 4
gpt4 key购买 nike

我正在遍历一个属性设置为数组的对象,然后我按以下方式使用它:

  let merged= [];
for (let sup of superObject) {
let sname = sup.superObjectName;
for (let sub of sup.subObject) {
merged.push({superObject: sname, subObject: sub.subObjectName})
}
}

现在上面的代码可以工作并完成工作,但我觉得可以使用 Lodash 改进它,但我无法让它工作。我尝试以几种不同的方式使用 flatMap,但似乎都没有用,而且在功能方面朝着正确方向的那个看起来根本不像是一种改进。有什么想法吗?

更新:superObject 示例:

{
superObjectName: "someName",
subObject: [
{subObjectName: "someSubName"},
{subObjectName: "someSubName2"}
]
}

最佳答案

这与您的代码相同:

const merged = _.flatMap(superObject, ({superObjectName, subObject}) =>
_.map(subObject, ({subObjectName}) => ({
superObject: superObjectName,
subObject: subObjectName
}))
);

superObject 中的每个值都用 map 转换为 Array,然后在 flatMap 中展平。

关于javascript - 使用 Lodash 展平嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53929476/

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