js中filter函数可以遍历对象数组内的对象数组吗?
时间: 2024-06-10 18:10:11 浏览: 108
js 实现 JavaScript遍历数组
可以,filter函数可以遍历对象数组内的对象数组。在回调函数中,可以使用点操作符来访问对象数组内的属性和方法。例如:
```javascript
const users = [
{
name: 'Alice',
hobbies: [
{ name: 'reading', level: 'beginner' },
{ name: 'painting', level: 'expert' }
]
},
{
name: 'Bob',
hobbies: [
{ name: 'fishing', level: 'intermediate' },
{ name: 'gaming', level: 'expert' }
]
}
]
const experts = users.filter(user => {
return user.hobbies.some(hobby => hobby.level === 'expert')
})
console.log(experts)
// Output: [{ name: 'Alice', hobbies: [ { name: 'reading', level: 'beginner' }, { name: 'painting', level: 'expert' } ] }, { name: 'Bob', hobbies: [ { name: 'fishing', level: 'intermediate' }, { name: 'gaming', level: 'expert' } ] }]
```
在这个例子中,我们使用filter函数来查找所有拥有至少一项专家级别兴趣爱好的用户。在回调函数中,我们使用some函数来检查每个用户的兴趣爱好数组中是否存在一个专家级别的兴趣爱好。
阅读全文