Mar*_*sen 18 javascript arrays object angularjs lodash
我目前正在使用Lodash _.filter()函数来过滤符合特定条件的对象,这些对象可以是用户搜索,可以是街道地址,城镇或国家.
我已经提取了搜索字符串,并希望针对每个对象中的多个值对其进行过滤,并且如果在任何这些键中找到该字符串,则必须返回该对象.
要解释我想使用网站上的例子.
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');
Run Code Online (Sandbox Code Playgroud)
在此示例中,我将如何过滤36岁或活跃的用户?
根据文档,似乎需要满足这两个条件,如上面的示例所示,要返回的对象.
npe*_*npe 48
您可以将函数传递给_.filter:
_.filter(users, function(user) {
return user.age === 36 || user.active;
});
Run Code Online (Sandbox Code Playgroud)
你可以使用相同的技术_.find:
_.result(_.find(users, function(user) {
return user.age === 36 || user.active;
}), 'user');
Run Code Online (Sandbox Code Playgroud)