前言
在前端开发过程中,我们经常使用到一些工具库来简化我们的工作流程,比如 lodash、jQuery 等知名的库。但是使用这些工具库也引入了很多无用的代码,导致我们的代码包变得很大。这时候一个轻量级的工具库就派上用场了。今天我们来介绍一个比较小巧的工具库——microdash。
什么是 microdash
microdash 是一个函数式工具库,其 api 设计灵感来自于 lodash 和日常编程中经常使用的高阶函数。与大部分现有的工具库不同,microdash 只提供了一些最基础的功能,代码文件也非常小,让你可以轻松的集成到你的开发项目中。
如何使用 microdash
安装 microdash
microdash 可以通过 npm 包管理器下载安装:
npm install microdash
使用示例
下面我们来看下使用 microdash 的示例。
-- -------------------- ---- ------- ------ - ---- ------- ------ - ---- ------------ ----- ------- - --- -- -- -- ---- ----- --------------------- - ----- ---- -- --- - - - --------------- - ---- -- -- --- --- ------- --------- - ----- -------------- - ------------ ------ -- ------ - --- ---------------------------- -- --- -- --- --- --- -- -- ------ --- ------- -------- - ------- ----- --------------- - --------------- ------ -- ------ -- --- ----------------------------- -- --- -- -- -- -- ------ --- ------- ----- - ------- ----- ----------------- - --------------- ---------------------- ---- ------------------------------- -- --- ---
使用文档
microdash 提供了丰富的函数式 api,可以支持数组、对象、字符串等数据结构的处理。下面是 microdash 的使用文档。
数组操作
chunk(array, size = 1)
把一个数组分成多个数组,每个数组长度为size。compact(array)
过滤掉数组中的假值,如 false、null、0、""、undefined、NaN。concat(array, ...values)
将多个数组合并成一个数组。difference(array, ...values)
数组差集操作。differenceBy(array, values, iteratee)
数组差集操作,并支持迭代器。drop(array, n = 1)
从左侧删除n个元素,返回删除后的数组。dropRight(array, n = 1)
从右侧删除n个元素,返回删除后的数组。filter(array, predicate)
数组过滤操作。find(array, predicate)
找到数组中第一个符合条件的元素并返回。flatMap(array, iteratee)
执行函数并将结果扁平化至一维数组。flatten(array)
扁平化数组至一维数组。flattenDeep(array)
扁平化数组至任意维度。forEach(array, iteratee)
遍历数组并执行指定函数。groupBy(array, iteratee)
按指定规则对数组进行分组操作。map(array, iteratee)
遍历数组并执行指定的函数。reduce(array, iteratee, accumulator)
按指定规则将数组进行累加操作。some(array, predicate)
数组是否满足条件。orderBy(array, iteratees, orders)
按指定规则对数组进行排序操作,在此基础上可以支持多字段排序等高级操作。uniq(array)
数组去重。uniqBy(array, iteratee)
数组去重,并支持迭代器。zip(...arrays)
将数组按照指定位置合并。
对象操作
assign(object, ...sources)
对象合并。keys(object)
返回对象的键数组。values(object)
返回对象的值数组。mapKeys(object, iteratee)
对象中的键进行重构。mapValues(object, iteratee)
对象中的值进行重构。pick(object, paths)
构造一个新对象,该对象一次包含指定的属性。omit(object, paths)
构造一个新对象,该对象不包含指定的属性。clone(object)
克隆指定的对象。
字符串操作
camelCase(string)
转换字符串为驼峰式,如 'foo-bar' 转为 'fooBar'。kebabCase(string)
转换字符串为 kebab-case,如 'Foo Bar123' 转为 'foo-bar123'。snakeCase(string)
转换字符串为 snake_case,如 'Foo Bar123' 转为 'foo_bar123'。
总结
microdash 是一个小巧且很实用的函数式工具库,其 API 设计非常灵活,支持数组、对象、字符串等复杂数据结构的处理。刚开始使用 microdash 时可能需要花费一定时间来适应其 API,但使用习惯后,可以在写代码时事半功倍。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/72463