【发布时间】:2021-09-30 00:36:44
【问题描述】:
无法从深度嵌套的对象数组中过滤掉一些数据。
我需要遍历每一天,然后遍历每个事件并过滤掉所有不包括电子邮件“barry@gmail.com”的参与者的事件。
'18 Sun': [
{
name: 'Event 01',
attendees: [
{
name: 'John',
email: 'john@gmail.com'
},
{
name: 'Barry',
email: 'barry@gmail.com'
}
]
}
],
'19 Mon':[
{
name: 'Event 02',
attendees: [
{
name: 'John',
email: 'john@gmail.com'
}
]
},
{
name: 'Event 03',
attendees: [
{
name: 'John',
email: 'john@gmail.com'
},
{
name: 'Barry',
email: 'barry@gmail.com'
}
]
}
]
过滤后的预期(删除事件 02,因为 barry@gmail.com 不存在)
'18 Sun': [
{
name: 'Event 01',
attendees: [
{
name: 'John',
email: 'john@gmail.com'
},
{
name: 'Barry',
email: 'barry@gmail.com'
}
]
}
],
'19 Mon':[
{
name: 'Event 03',
attendees: [
{
name: 'John',
email: 'john@gmail.com'
},
{
name: 'Barry',
email: 'barry@gmail.com'
}
]
}
]
我试过这个sn-p
_.forEach(globalEvents, d => {
_.forEach(d, e => {
_.filter(e.attendees, p => {
return p.email === 'barry@gmail.com'
})
})
})
但这只是返回整个未过滤的数组。我想使用 lodash,但没有必要。
【问题讨论】:
标签: javascript filter lodash