gpt4 book ai didi

javascript - 如何提取嵌套的多级 JSON 对象/数组的部分并使用 JavaScript 将其展平

转载 作者:行者123 更新时间:2023-11-30 14:55:35 25 4
gpt4 key购买 nike

我正在使用以下数据结构:

"data": {
"products": [
[
{
"category": "A",
"items": [
{
"name": "Aloe",
"price": 10
},
{
"name": "Apples",
"price": 5
}
]
},
{
"category": "B",
"items": [
{
"name": "Bread",
"price": 5
}
]
}
],
[
{
"category": "C",
"items": [
{
"name": "Candy",
"price": 5
},
{
"name": "Crayon",
"price": 5
}
]
},
{
"category": "D",
"items": [
{
"name": "Dice",
"price": 5
},
{
"name": "Doll",
"price": 10
}
]
}
]
]
}

我想提取它的一部分进行展平,所以结果如下:

[
{
"name": "Aloe",
"price": 10
},
{
"name": "Apples",
"price": 5
},
{
"name": "Bread",
"price": 5
},
{
"name": "Candy",
"price": 5
},
{
"name": "Crayon",
"price": 5
},
{
"name": "Dice",
"price": 5
},
{
"name": "Doll",
"price": 10
}
]

我怎样才能做到这一点?

我试过这个:

for (var sets in data.products) {
for (var categories in sets) {
for (var items in categories) {
for (var item in items) {
// assemble new array
}
}
}
}

...但是在遍历子对象时遇到了问题。我找到了其他几个 similar questions ,但它们似乎解决了更简单的数据结构,并展平了整个对象而不是部分对象。

如有任何指点,我们将不胜感激。

最佳答案

input.data.products. ....

maube 第 1 行的变化取决于你的变量名

var result =[]
input.data.products.forEach(function (product){
product.forEach(function(productinfo){
productinfo.items.forEach(function (item){


result.push(item)


})

})

})

关于javascript - 如何提取嵌套的多级 JSON 对象/数组的部分并使用 JavaScript 将其展平,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47323657/

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