我有一个这样的审讯:
items = [
{
"key": "Group A",
"value": [
{
"name": "Nest Name 1"
}
},
{
"key": "Group B",
"value": [
{
"name": "Nest Name 2"
},
{
"name": "Nest Name 3"
}
[
}
]
在一个有角度的管道中,我试图返回(以相同的格式)嵌套名称与字符串匹配的组。所以在这种情况下,如果我搜索了2,那么应该只返回组b,并且只返回第一个嵌套对象。
我的匹配项正在处理无嵌套代码:items?.filter(item => searchText.split(' ').every(q => new RegExp(q, 'i').test(item[field]))
searchText是我要搜索的单词,field是字段的名称(在本例中为名称)。
我以为这样的方法会奏效:
var tempList = [];
items.filter(group => group.value.filter(item => searchText.split(' ').every(q => new RegExp(q, 'i').test(item[field])))).forEach(product => tempList.push(product));
return tempList;
但是当它返回正确的组时,实际的嵌套项不会被移除。
谢谢