@zhoutaimin_mac/jzlib
v1.0.0
Published
一个轻量级的、类似 Lodash 的 JavaScript 工具库
Maintainers
Readme
jzlib
🚀 一个轻量级、功能丰富的 JavaScript/TypeScript 工具库,类似 Lodash,但更小更快。
特点
✨ 类型安全 - 使用 TypeScript 编写,提供完整的类型定义
📦 模块化 - 支持按需导入,减少打包体积
⚡ 高性能 - 精心优化的实现
🔧 易于扩展 - 清晰的项目结构,易于添加新功能
📚 良好文档 - 每个函数都有详细的文档和示例
安装
npm install jzlib快速开始
完整导入
import * as _ from 'jzlib';
_.chunk([1, 2, 3, 4, 5], 2); // [[1, 2], [3, 4], [5]]
_.capitalize('hello'); // 'Hello'按需导入
import { chunk, capitalize } from 'jzlib';
chunk([1, 2, 3, 4, 5], 2); // [[1, 2], [3, 4], [5]]
capitalize('hello'); // 'Hello'模块导入
import * as array from 'jzlib/array';
import * as object from 'jzlib/object';
import * as string from 'jzlib/string';
array.chunk([1, 2, 3, 4], 2);
object.pick({ a: 1, b: 2 }, ['a']);
string.capitalize('world');📚 API 文档
数组 (Array)
chunk(array, size)
将数组分成指定大小的块。
chunk([1, 2, 3, 4, 5], 2);
// => [[1, 2], [3, 4], [5]]compact(array)
移除数组中的虚值。
compact([0, 1, false, 2, '', 3, undefined, 4, null, NaN]);
// => [1, 2, 3, 4]对象 (Object)
pick(obj, keys)
从对象中选择指定的属性。
pick({ a: 1, b: 2, c: 3 }, ['a', 'c']);
// => { a: 1, c: 3 }omit(obj, keys)
从对象中排除指定的属性。
omit({ a: 1, b: 2, c: 3 }, ['b']);
// => { a: 1, c: 3 }字符串 (String)
capitalize(str)
将字符串首字母转为大写。
capitalize('hello');
// => 'Hello'camelCase(str)
将字符串转换为驼峰式命名法。
camelCase('hello-world');
// => 'helloWorld'工具函数 (Utility)
类型检查
isString(value)- 检查是否为字符串isNumber(value)- 检查是否为数字isBoolean(value)- 检查是否为布尔值isArray(value)- 检查是否为数组isObject(value)- 检查是否为对象isFunction(value)- 检查是否为函数isDate(value)- 检查是否为日期isRegExp(value)- 检查是否为正则表达式isMap(value)- 检查是否为 MapisSet(value)- 检查是否为 SetisNull(value)- 检查是否为 nullisUndefined(value)- 检查是否为 undefinedisNullOrUndefined(value)- 检查是否为 null 或 undefined
isEmpty(value)
检查值是否为空。
isEmpty([]); // => true
isEmpty({}); // => true
isEmpty(''); // => true
isEmpty(null); // => true
isEmpty('hello'); // => false开发
安装依赖
npm install构建
npm run build开发模式(监视文件变化)
npm run dev运行测试
npm test查看测试覆盖率
npm run test:coverage代码格式化
npm run formatLinting
npm run lint项目结构
src/
├── index.ts # 主入口
├── types/ # 类型定义
├── array/ # 数组模块
├── object/ # 对象模块
├── string/ # 字符串模块
└── utility/ # 工具函数模块许可证
MIT
贡献
欢迎贡献!请提交 PR 或 Issue。
