【发布时间】:2025-12-01 11:20:07
【问题描述】:
我有一个数组...
var families = [
{
family:"Jones",
kids: [
{name:"Kelly", gender:'female'},
{name:"Mike", gender:'male'},
{name:"Bill", gender:'male'}
]
},{
family:"Smiths",
kids: [
{name:"Roger", gender:'male'}
]
}
]
...我需要按性别过滤和分类家庭。因此,如果我搜索“女性”,我想要一系列家庭中包含女性的家庭。不管家里有没有男的。所以在上面的代码中,如果我搜索女性,只有一个家庭会返回。但如果我按男性搜索,2 个家庭会返回。
我的尝试是这样的:
var filter = 'female';
filteredList = families.filter(function (family) {
return family.kids.filter(function (kid) {
return kid.gender.toLowerCase().indexOf(filter) !== -1;
})
})
我没有正确退回它吗?
【问题讨论】:
-
kids是否有可能拥有自己的kids?您对递归解决方案感兴趣吗? -
感谢您的建议,但对于我的使用,这将是不必要的。欣赏远见!
标签: javascript arrays object filter