核心概念
为什么函数库如此出色?
保持简单
可读性
函数库的源代码易于阅读和理解。我们不会让您浏览内部库模块和类,阅读数百行代码来理解一个函数的作用或工作原理。
例如,以下是 _.compose 函数的源代码。
export const compose = (...funcs: Func[]) => {
return funcs.reverse().reduce((acc, fn) => fn(acc))
}
就是这样…这就是整个函数。
半函数式
函数式编程有许多我们经常借鉴的出色设计模式。然而,我们并不是纯粹的函数式工程师。您不需要理解单子(monads)就能使用函数库。大多数函数库的函数是确定性的和/或纯的。
安全性
类型
函数库是用 TypeScript 编写的,并提供完整的类型支持。
相关内容
- alphabetical 按属性对对象数组进行字母顺序排序 给定一个对象数组和一个用于确定排序属性的回调函数,返回一个按字母顺序排序的新数组
- boil 将列表项缩减为一个项 给定一个项数组,返回在比较条件中获胜的最终项
- cluster 将列表拆分为指定大小的多个列表 给定一个项数组和所需的集群大小(`n`),返回一个数组的数组
- counting 创建一个包含项目出现次数的对象 给定一个对象数组和一个用于确定每个对象应如何标识的标识回调函数
- diff 创建两个数组之间的差异数组 给定两个数组,返回第一个数组中存在但第二个数组中不存在的所有项的数组
- first 获取列表中的第一个项 给定一个项数组,返回第一个项,如果不存在任何项则返回默认值