【发布时间】:2020-07-03 10:12:49
【问题描述】:
我在 JSON/JavaScript 中有以下结构:
{
"comments": [
{
"id": 1,
"content": "lorem ipsum",
"answers": []
},
{
"id": 2,
"content": "lorem ipsum",
"answers": [
{
"id": 30,
"content": "lorem ipsum"
}
]
},
{
"id": 3,
"content": "lorem ipsum",
"answers": [
{
"id": 99,
"content": "lorem ipsum"
},
{
"id": 103,
"content": "lorem ipsum"
}
]
},
{
"id": 5,
"content": "comment",
"answers": []
}
]
}
我需要创建一个包含所有 cmets 的 id 的数组,包括答案类型 cmets
结尾应该是这样的
[1, 2, 3, 5, 30, 99, 103]
我可以只使用map、reduce 和filter 吗?
接下来我可以尝试什么?
【问题讨论】:
-
对于对象中的所有
id字段:let ids = JSON.stringify(obj.comments).match(/\"?id\"?\:(\d+)\,/g).map((id)=>{return parseInt(id.replace(/\"?id\"?\:(\d+)\,/,'$1'));});。不准确的解决方案,但按预期提供输出。
标签: javascript json typescript