搜索栏筛选器(嵌套数组)



如何使用搜索栏 在 ionic 4 搜索栏中筛选嵌套数组对象

离子版本-4.7.1 下面我已经附加了我的过滤器函数,但我无法使用此功能过滤嵌套数组中的对象

this.filterData = this.allData.filter(data => {if (data.letter && this.searchTerm) {
for (var i = 0; i < data.child_contacts.length; i++) {
if (
data.child_contacts[i].full_name
.toLowerCase()
.indexOf(this.searchTerm.toLowerCase()) > -1
) {
return (
data.child_contacts[i].full_name
.toLowerCase()
.indexOf(this.searchTerm.toLowerCase()) > -1
);
}
}
return false;}});

以下是需要过滤的数据

this.allData=[    { 
"letter":"A",         
"child_contact":[
{"full_name":"First"},
{"full_name":"second"},
{"full_name":"third"}
]
},
{ 
"letter":"B",         
"child_contact":[
{"full_name":"First second"},
{"full_name":"Third"}
]
},
{ 
"letter":"C",         
"child_contact":[
{"full_name":"Third"}
]
}        ] 

如果我搜索"第一个",我的预期输出将是,

[    { 
"letter":"A",         
"child_contact":[
{
"full_name":"First"
},    
]
},
{ 
"letter":"B",         
"child_contact":[
{
"full_name":"First"
},    
]
}]

我不确定这是否是完整的解决方案,但我可以看到的一个问题是您在过滤器中使用带有schild_contacts

for (var i = 0; i < data.child_contacts.length; i++) {

但数据child_contact

this.allData=[    { 
"letter":"A",         
"child_contact":[
{"full_name":"First"},
{"full_name":"second"},
{"full_name":"third"}
]
},

最新更新