Aya*_*ane 5 javascript angular5
我试图过滤具有以下结构的许多对象的列表:
{
"element1":{
"code":"12345",
"location":"Location"
},
"users":[
{
"id":1,
"name":"Name 1",
"surname":"Surname 1",
},
{
"id":2,
"name":"Name 2",
"surname":"Surname 2",
}
]
}
Run Code Online (Sandbox Code Playgroud)
现在,我正在按第一个元素进行过滤,如下所示:
filterList(value) {
if (value&& value.trim() != '') {
myList = myList .filter((item) => {
return (item.element1.location.toLowerCase().indexOf(value.toLowerCase()) > -1);
})
}
}
Run Code Online (Sandbox Code Playgroud)
我一直试图通过用户属性(这是对象列表)对其进行过滤,以对其进行过滤,而在姓氏中,我必须更改什么?
您可以通过替换过滤条件来按用户姓氏进行过滤,如下所示。这将返回具有与给定姓氏匹配的父对象。
return (item.users.some(i => i.surname.toLowerCase().indexOf(value.toLowerCase()) > -1));
Run Code Online (Sandbox Code Playgroud)
如果您想要用户列表,那么您的过滤器将如下所示。
var usersList = [];
myList.forEach(i => Array.prototype.push.apply(usersList, i.users));
usersList = usersList.filter(i => i.surname.toLowerCase().indexOf(value.toLowerCase()) > -1);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
636 次 |
| 最近记录: |