Javascript Lodash过滤函数必须只满足一个条件
我目前正在使用Lodash\uu0.filter()函数根据用户搜索筛选满足特定条件的对象,这些对象可以是街道地址、城镇或国家 我已经提取了搜索字符串,并希望根据每个对象中的几个值对其进行过滤,如果在这些键中的任何一个键中找到该字符串,则必须返回该对象 为了解释,我想用网站上的例子Javascript Lodash过滤函数必须只满足一个条件,javascript,arrays,angularjs,object,lodash,Javascript,Arrays,Angularjs,Object,Lodash,我目前正在使用Lodash\uu0.filter()函数根据用户搜索筛选满足特定条件的对象,这些对象可以是街道地址、城镇或国家 我已经提取了搜索字符串,并希望根据每个对象中的几个值对其进行过滤,如果在这些键中的任何一个键中找到该字符串,则必须返回该对象 为了解释,我想用网站上的例子 var users = [ { 'user': 'barney', 'age': 36, 'active': true }, { 'user': 'fred', 'age': 40, 'active'
var users = [
{ 'user': 'barney', 'age': 36, 'active': true },
{ 'user': 'fred', 'age': 40, 'active': false },
{ 'user': 'pebbles', 'age': 1, 'active': true }
];
// using the `_.matches` callback shorthand
_.result(_.find(users, { 'age': 1, 'active': true }), 'user');
在本例中,我将如何筛选36岁或活跃的用户
根据文档,这两个条件似乎都需要满足,正如上面要返回的对象的示例所示 您可以将函数传递给: 您可以将相同的技术用于:
也适用于Vue.js中的第二个解决方案
users.filter(user => {
return user.age == 36 || user.active;
});
请注意,结果是一个带有筛选值的新数组。文档的链接:
_.result(_.find(users, function(user) {
return user.age === 36 || user.active;
}), 'user');
users.filter(user => {
return user.age == 36 || user.active;
});