У меня есть массив ...
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;
})
})
Я правильно не возвращаю?