该项目的 GitHub 地址为 underscore-analysis,所有文章都在这里,并将不断更新。如果你觉得我的解读还可以,对你学习 js 有一定的帮助,欢迎 Watch && Star,你的关注和肯定必定会促使我投入更多的时间和经历做好这个系列。如果你愿意的话,也欢迎 Fork,我们一起来将这个系列做好做大,一起成长。
在对象方法部分,我们已经解读过针对对象的查找和筛选了。这篇文章我们来介绍一下适用范围更广的查找和筛选方法。
_.find(obj, predicate, context)
示例:
源码解读:
依赖:
在该方法中,主要执行逻辑由它依赖的两个方法完成:
- 用于查找数组中符合条件的元素的索引的方法,_.findIndex()
- 用于查找对象中符合条件的属性值的属性名的方法,_.findKey()
_.filter(list, predicate, context)
遍历 list 中的每一个值,将所有通过了 predicate 检测的值保存到一个数组中,最后将这个数组返回。
示例:
源码解读:
依赖:
_.contains(list, item, fromIndex)
如果 item 是 list 的元素或者属性值,则返回 true。如果 list 是数组,可以用 fromIndex 指定从哪个位置开始查找。
示例:
源码解读:
依赖: