lodash find 只返回一个结果

问题描述

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

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

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

  console.log("usuario encontre::",encontre)

回复

usuario encontre:: { firstName: 'John',lastName: 'Doe',性别:'男' }

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

谢谢

解决方法

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

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

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

  console.log("usuario encontre::",encontre)

jsfiddle for ref : https://jsfiddle.net/c_Dhananjay/b6ngxhvp/