gpt4 book ai didi

javascript - 递归更改数组结果

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:11:08 24 4
gpt4 key购买 nike

我使用的 API 以包含额外节点的格式返回结果。我想递归地遍历结果以删除“数据”节点,以便我可以在我的应用程序中使用它。

我可以使用普通的 javascript 或 Lodash 来做到这一点吗?

这是我得到的结果:

"pages": {
"data": [
{
"id": 32,
"pages": {
"data": [
{
"id": 33,
"pages": {
"data": []
}
},
{
"id": 34,
"pages": {
"data": [
{
"id": 35,
"pages": {
"data": []
}
}
]
}
}
]
}
},
{
"id": 36,
"pages": {
"data": []
}
}
]

这是我想要返回的内容:

"pages": [
{
"id": 32,
"pages": [
{
"id": 33,
"pages": []
},
{
"id": 34,
"pages": [
{
"id": 35,
"pages": []
}
]
}
]
},
{
"id": 36,
"pages": []
}
]

最佳答案

您可以对嵌套数组采用检查和递归方法。

function clean(object) {
if (object.pages && object.pages.data) {
object.pages = object.pages.data;
delete object.pages.data;
}
object.pages.forEach(clean);
}


var object = { pages: { data: [{ id: 32, pages: { data: [{ id: 33, pages: { data: [] } }, { id: 34, pages: { data: [{ id: 35, pages: { data: [] } }] } }] } }, { id: 36, pages: { data: [] } }] } };

clean(object);

console.log(object);
.as-console-wrapper { max-height: 100% !important; top: 0; }

关于javascript - 递归更改数组结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47290327/

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