【发布时间】:2023-03-08 16:10:02
【问题描述】:
我的问题是对这个问题的延伸javascript filter array multiple conditions
从那个问题如果过滤器对象是
{address: 'England', name: 'Mark'};
数组是
var users = [{
name: 'John',
email: 'johnson@mail.com',
age: 25,
address: 'USA'
},
{
name: 'Tom',
email: 'tom@mail.com',
age: 35,
address: 'England'
},
{
name: 'Mark',
email: 'mark@mail.com',
age: 28,
address: 'England'
}
];
所以答案是
[
{
"name": "Mark",
"email": "mark@mail.com",
"age": 28,
"address": "England"
}
]
这绝对没问题,但我的问题是必须为过滤器对象属性值过滤数组
例如,我的过滤器对象将是 {address: 'England', name: ''} 现在这必须过滤 all names and address England 的数组
【问题讨论】:
-
发布的问题似乎根本没有包含any attempt 来解决问题。 StackOverflow 期待您try to solve your own problem first,因为您的尝试有助于我们更好地了解您想要什么。请编辑问题以显示您尝试过的内容,以说明您在minimal reproducible example 中遇到的特定问题。欲了解更多信息,请参阅How to Ask 并拨打tour。
-
users= users.filter(function(item) { for (var key in filter) { if (filter[key]=="") continue; if (item[key] === undefined || item[key] != filter[key]) return false; } return true; }); -
为什么不在过滤器函数中添加一个条件来检查名称是否真实,并且只应用名称检查是否真实?
-
感谢@Nadav 添加它并且它有效
标签: javascript arrays filter