0.2.0 • Published 6 months ago
@yilin.li/nut v0.2.0
nut
特点
- 同时支持 ESM 和 CommonJS
- 轻量零依赖
- 内置 TypeScript 类型定义
使用示例
- 直接引入需要用的函数使用
import { kvMap } from "@yilin.li/nut"
const testArr = [
{ id: "111", pid: "", name: "张爸" },
{ id: "11111", pid: "111", name: "张三" },
{ id: "11122", pid: "111", name: "张四" },
{ id: "222", pid: "", name: "万五" },
];
/** id To name map */
console.log(kvMap(testArr, { keyField: "id", valueField: "name" }));
/** id To obj map */
console.log(kvMap(testArr, { keyField: "id" }));
/** pid To obj list map */
console.log(kvMap(testArr, { keyField: "pid", grouped: true }));
- 引入默认 nut 对象,通过对象调用指定模块上的函数
import nut from "@yilin.li/nut"
/** usage */
nut.array.kvMap(...);
nut.promise.mapSerial(...);
......
模块
array 数组模块
* kvMap: 当数组元素为对象,想获取对象值到(对象值 | 对象 | 对象数组)的KV映射时使用该函数
* tree: 当数组元素为对象,且隐含树形结构(有主键和父键),想得到树形结构数组时使用该函数
* childs:当数组元素为对象,且隐含树形结构(有主键和父键),想得到某一个元素节点的所有子节点数组时使用该函数
* unique: 数组去重,返回一个新数组
* chunk: 数组分块
promise 异步模块
* mapSerial: 当需要遍历数组串行地执行异步操作时使用该函数
* mapParallel: 当需要遍历数组并行地执行异步操作时使用该函数
text 文本模块
* underLine: 当需要给控制台输出文本添加下划线时使用该函数
* red: 当需要给控制台输出文本转为红色时使用该函数,类似还有blue、yellow等其他7种常用颜色
* redHighlight: 当需要给控制台输出文本转为高亮红色时使用该函数,类似还有blue、yellow等其他7种常用颜色
* redBg:当需要给控制台输出文本添加红色背景时使用该函数,类似还有blue、yellow等其他7种常用颜色
* colorize: 自定义文字颜色包装函数,当已有的文本颜色包装函数不满足需求时使用该函数
date 日期时间模块
* formatDate: 格式化时间