gpt4 book ai didi

javascript - 从 Lodash 中的 JSON 中的多个嵌套集合中提取项目

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

我正在使用 Lodash 将一种 JSON 结构转换为另一种结构。我需要从深度嵌套在 source 结构中的多个集合中提取所有项目。目标结构是“更扁平”的版本。

如何迭代每个嵌套集合?

[
{
"regime": "Ground",
"data": [
{ "name": AA },
{ "name": BB },
{ "name": CC }
]
},
{
"regime": "Hover",
"data": [
{ "name": DD },
{ "name": EE },
{ "name": FF }
]
},
{
"regime": "140 knots",
"data": [
{ "name": GG },
{ "name": HH },
{ "name": II }
]
}
]

目标 JSON 结构:

[
{
"regime": "Ground",
"name": AA
},
{
"regime": "Ground",
"name": BB
},
{
"regime": "Ground",
"name": CC
},
{
"regime": "Hover",
"name": DD
},
{
"regime": "Hover",
"name": EE
},
{
"regime": "Hover",
"name": FF
},
{
"regime": "140 knots",
"name": GG
},
...
]

最佳答案

o = [
{
"regime": "Ground",
"data": [
{ "name": 'AA' },
{ "name": 'BB' },
{ "name": 'CC' }
]
},
{
"regime": "Hover",
"data": [
{ "name": 'DD' },
{ "name": 'EE' },
{ "name": 'FF' }
]
},
{
"regime": "140 knots",
"data": [
{ "name": 'GG' },
{ "name": 'HH' },
{ "name": 'II' }
]
}
];

newO = _(o).map((e)=> {
return e.data.map((d)=> {
return {
regime: e.regime,
name: d.name
}
})
}).flatten().value();

console.log(newO);
<script src="https://cdn.jsdelivr.net/lodash/4.17.4/lodash.min.js"></script>

其中 o 是您的对象

关于javascript - 从 Lodash 中的 JSON 中的多个嵌套集合中提取项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44019413/

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