Reactjs 使用大于与低破折号

Reactjs 使用大于与低破折号,reactjs,filter,lodash,Reactjs,Filter,Lodash,如何使用“大于”和“小于”对数组进行筛选 使用Lo Dash的查找: 我想找到所有超过30岁的用户 var over30=u.find(用户,函数(o){returno.age>30;}) 但是,这将返回第一个用户Barney,而不是Barney和Fred 我尝试了以下不同的组合 _.find(users, ['age', > 30]); 您可以改用filter()方法filter将返回通过条件的所有元素,而find将退出循环并返回第一个在条件下返回true的元素 var用户=[ {'

如何使用“大于”和“小于”对数组进行筛选

使用Lo Dash的查找:

我想找到所有超过30岁的用户

var over30=u.find(用户,函数(o){returno.age>30;})

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

我尝试了以下不同的组合

_.find(users, ['age', > 30]);
您可以改用
filter()
方法
filter
将返回通过条件的所有元素,而
find
将退出循环并返回第一个在条件下返回true的元素

var用户=[
{'user':'barney','age':36','active':true},
{'user':'fred','age':40','active':false},
{'user':'pebbles','age':1',active':true}
];
var over30=389;.filter(用户,({age})=>age>30)
console.log(超过30个)
来自:

查找,迭代集合的元素,返回第一个 元素谓词为返回truthy

find
始终返回第一个元素,而不是所有满足条件的元素

您需要使用:

迭代集合的元素,返回所有元素的数组 元素谓词返回truthy for

这样写:

var over30 = _.filter(users, function(o) { return o.age > 30; })
工作代码段:

var用户=[
{'user':'barney','age':36','active':true},
{'user':'fred','age':40','active':false},
{'user':'pebbles','age':1',active':true}
];
30以上的var=u.filter(用户,el=>el.age>30);
log('over30=',over30)

工作得很好!谢谢你Nenad:)谢谢你的澄清Mayanklayd,它帮助了你:)值得注意的是,这也可以通过本机函数来实现:
[{age:36},{age:40},{age:1}].filter(p=>p.age>30)
var over30 = _.filter(users, function(o) { return o.age > 30; })