与Lo Dash一起使用大于

Bet*_*any 2 filter lodash reactjs

如何使用大于和小于Lo Dash过滤数组?

使用Lo Dash的_.find 演示数据

 var users = [
  { 'user': 'barney',  'age': 36, 'active': true },
  { 'user': 'fred',    'age': 40, 'active': false },
  { 'user': 'pebbles', 'age': 1,  'active': true }
];
Run Code Online (Sandbox Code Playgroud)

我想找到30岁以上的所有用户。

var over30 = _.find(users, function(o) { return o.age > 30; });

但是,这将返回第一个用户Barney,而不是Barney和Fred。

我尝试了以下几种不同的组合。

_.find(users, ['age', > 30]);
Run Code Online (Sandbox Code Playgroud)

Nen*_*car 5

您可以改用filter()method。filter 将返回所有通过条件的元素,同时find退出循环并返回在条件上返回true的第一个元素。

var users = [
  { 'user': 'barney',  'age': 36, 'active': true },
  { 'user': 'fred',    'age': 40, 'active': false },
  { 'user': 'pebbles', 'age': 1,  'active': true }
];

var over30 = _.filter(users, ({age}) => age > 30)
console.log(over30)
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
Run Code Online (Sandbox Code Playgroud)