【发布时间】:2019-09-29 03:03:28
【问题描述】:
对不起,伙计们,但我有一个愚蠢的问题.. 我需要从 json 响应中迭代对象,并且只获取那些满足某些条件的对象。 回复是这样的:
result = [
{
"type": "EVENT",
"id": "001",
"tags": [
{
"id": "98765",
"name": "home"
}
]
},
{
"type": "EVENT",
"id": "002",
"tags": [
{
"id": "7654",
"name": "contact"
}
]
},
{
"type": "EVENT",
"id": "003",
"tags": []
}
]
我只需要使用类型为“事件”且标签中的名称属性为 home 的那些。
我尝试了映射和过滤,但没有得到想要的结果
const eventType = result.filter(type => type.type == 'EVENT')
const nameFilter =
eventType.map(item => item.tags)
.filter(sub => sub.length) // remove empty []
.map(subarray => subarray.map(element => element.name )
.filter(element => element == 'home'));
结果:
[
['home'], // dosen t work for me, because need all the object
[],
[]
]
【问题讨论】:
标签: javascript arrays object ecmascript-6 functional-programming