javascript - Lodash _.filter 函数只能满足一个条件

标签 javascript arrays angularjs object 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');

在此示例中,我将如何过滤 36 岁或活跃的用户?

根据文档,似乎需要满足这两个条件,如上面要返回的对象的示例所示。

最佳答案

您可以将函数传递给 _.filter :

_.filter(users, function(user) {
    return user.age === 36 || user.active;
});

您可以对 _.find 使用相同的技术:

_.result(_.find(users, function(user) {
    return user.age === 36 || user.active;
}), 'user');

关于javascript - Lodash _.filter 函数只能满足一个条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31587555/

相关文章:

javascript - react 字符串常量

jquery - 将基于 jQuery 的自动完成插件应用到 Angular 指令中

javascript - 将变量传递到 Ionic Framework 页面(基于 AngularJS)

c++ - 矩阵对角零点

php - array_map 显示 mysql_real_escape_string() 需要参数 1

java - 我无法让我的嵌套 for 循环参与

javascript - Angular $scope 没有更新?

javascript - 如何在剧作家中等待 JavaScript 完成

javascript - 同时嵌入JS和HTML失败

javascript - 表单相互重叠,如何默认隐藏表单并在 html、css 中单击时可见