获取与迭代器函数匹配的集合的第一个元素
- 论坛
- 获取与迭代器函数匹配的集合的第一个元素
24 浏览
获取与迭代器函数匹配的集合的第一个元素
我想要用_.filter
实现类似于_.first
的功能,也就是说,给定一个元素集合,我想要得到第一个(如果存在的话)满足某个条件的元素。
例如,给定如下的数组:
var arr = [{a: 1}, {a: 5}, {a: 9}, {a: 11}, {a: 15}]
我想要得到第一个(也是唯一一个)满足自定义函数的元素:
_.filterFirst(arr, function(el) { return el.a > 10; }); // 实现它
目前为止:
_.first(arr) == {a:1} _.filter(arr, function(...)) == [{a:11}, {a:15}]
有没有一种更好的清晰的解决方案来实现这个,而不是使用_.first(_.filter(arr, iterator))
?