gpt4 book ai didi

javascript - 如何提取嵌套对象数组的值?

转载 作者:行者123 更新时间:2023-11-29 17:47:31 25 4
gpt4 key购买 nike

我正在尝试提取如下所示的对象数组的所有链接 ID。这就是我试图得到的:

const linkIDs = array
.filter(d => d.links)
.map(d => d.links)

但这给了我一个嵌套数组,这不是我想要的。

[
{
"id: "1",
"links": [
{
"id" : "Dn59y87PGhkJXpaiZ",
"type" : "article"
},
{
"id" : "PGhkJXDn59y87paiZ",
"type" : "article"
}
]
},
{
"id: "2",
"links": [
{
"id" : "GhkJXpaiZDn59y87P",
"type" : "article"
}
]
},
{
"id": "3"
}
]

所以在这个例子中我需要结果

[ "Dn59y87PGhkJXpaiZ", "PGhkJXDn59y87paiZ", "GhkJXpaiZDn59y87P" ]

最佳答案

您可以像下面那样做,而无需使用任何其他库。

var data = [
{
"id": "1",
"links": [
{
"id" : "Dn59y87PGhkJXpaiZ",
"type" : "article"
},
{
"id" : "PGhkJXDn59y87paiZ",
"type" : "article"
}
]
},
{
"id": "2",
"links": [
{
"id" : "GhkJXpaiZDn59y87P",
"type" : "article"
}
]
},
{
"id": "3"
}
];

var result = data.filter(e => e.links)
.map(e => e.links.map(link => link.id))
.reduce((a, b) => a.concat(b), []);

console.log(result);

关于javascript - 如何提取嵌套对象数组的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47852270/

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