lodash find 只返回一个结果

man*_*urt 0 javascript underscore.js lodash

我正在使用 lodash find,在我的测试中,它只返回一个结果,这是预期的响应吗?如何找到所有实例?

var users = [
    { firstName: "John", lastName: "Doe", age: 28, gender: "male" },
    { firstName: "Jane", lastName: "Doe", age: 5, gender: "female" },
    { firstName: "Jim", lastName: "Carrey", age: 54, gender: "male" },
    { firstName: "Kate", lastName: "Winslet", age: 40, gender: "female" }
  ];

  var encontre = _.find(users, { lastName: "Doe" })

  console.log("usuario encontre::", encontre)
Run Code Online (Sandbox Code Playgroud)

回复

usuario encontre:: { firstName: 'John', lastName: 'Doe', 年龄: 28, 性别: 'male' }

那么如何查看 lastName: Doe 的 2 个用户呢?

谢谢

小智 5

尝试使用_.filteras_.find返回第一个匹配的元素。 _.filter将返回所有匹配元素的数组。

var users = [
    { firstName: "John", lastName: "Doe", age: 28, gender: "male" },
    { firstName: "Jane", lastName: "Doe", age: 5, gender: "female" },
    { firstName: "Jim", lastName: "Carrey", age: 54, gender: "male" },
    { firstName: "Kate", lastName: "Winslet", age: 40, gender: "female" }
  ];

  var encontre = _.filter(users, { lastName: "Doe" })

  console.log("usuario encontre::", encontre)
Run Code Online (Sandbox Code Playgroud)

jsfiddle 参考:https ://jsfiddle.net/c_Dhananjay/b6ngxhvp/