js中filter函数可以遍历对象数组内的对象数组吗?
时间: 2024-06-10 07:10:11 浏览: 115
JavaScript遍历数组的三种方法map、forEach与filter实例详解
可以,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函数来检查每个用户的兴趣爱好数组中是否存在一个专家级别的兴趣爱好。
阅读全文