# fastEasy **Repository Path**: tianshuangming/fast-easy ## Basic Information - **Project Name**: fastEasy - **Description**: No description available - **Primary Language**: TypeScript - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-09-07 - **Last Updated**: 2025-09-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # fastEasy 一个轻量级的 JavaScript 工具库,专注于简化数组和对象的操作。 ## 功能特性 - **数组处理**:去重、打乱、分割、扁平化等 - **对象处理**:深度合并、获取/设置嵌套属性、深拷贝等 - **简洁 API**:易于理解和使用 - **代码规范**:集成 ESLint、Prettier 和 Git hooks ## 安装 ```bash # 使用 npm npm install fasteasy # 使用 yarn yarn add fasteasy # 使用 pnpm pnpm add fasteasy ``` ## 使用方法 ### TypeScript 导入与使用 ```typescript // 导入默认导出 import fasteasy from 'fasteasy'; // 或者导入命名导出 import { array, object, unique, shuffle, chunk, flatten, merge, get, set, cloneDeep } from 'fasteasy'; // 数组去重 const arr: number[] = [1, 2, 2, 3, 4, 4, 5]; const uniqueArr: number[] = unique(arr); // [1, 2, 3, 4, 5] // 打乱数组 const shuffledArr: number[] = shuffle(arr); // 随机顺序的数组 // 分割数组 const chunkedArr: number[][] = chunk(arr, 2); // [[1, 2], [3, 4], [5]] // 扁平化数组 const nestedArr: any[] = [1, [2, [3, [4]]]]; const flatArr: number[] = flatten(nestedArr); // [1, 2, 3, 4] // 深度合并对象 const obj1 = { a: 1, b: { c: 2 } }; const obj2 = { b: { d: 3 }, e: 4 }; const mergedObj = merge({}, obj1, obj2); // { a: 1, b: { c: 2, d: 3 }, e: 4 } // 获取嵌套属性 const nestedObj = { a: { b: { c: 1 } } }; const value: number = get(nestedObj, 'a.b.c', 0); // 1 const defaultValue: string = get(nestedObj, 'a.b.d', 'default'); // 'default' // 设置嵌套属性 const obj = {}; set(obj, 'a.b.c', 1); // obj 变为 { a: { b: { c: 1 } } } // 深拷贝对象 const original = { a: 1, b: { c: 2 } }; const copy = cloneDeep(original); // 深拷贝后的对象 ``` ### JavaScript 导入与使用 ```javascript // 导入所有工具 const fasteasy = require('fasteasy'); // 或者导入特定的工具 const { array, object, unique, shuffle, chunk, flatten, merge, get, set, cloneDeep } = require('fasteasy'); // 使用方式与 TypeScript 类似 ``` ## 开发指南 1. 克隆仓库 ```bash git clone cd fasteasy ``` 2. 安装依赖 ```bash npm install ``` 3. 检查代码 ```bash npm run lint # 运行 ESLint 检查 npm run lint:fix # 自动修复 ESLint 问题 npm run format # 运行 Prettier 格式化 ``` 4. 编译 TypeScript ```bash npm run build # 编译 TypeScript 到 JavaScript npm run dev # 监视文件变化并自动编译 ``` 4. 提交代码 该项目使用 husky 和 commitizen 来规范化提交信息。提交代码时,请使用以下命令: ```bash npx cz ``` ## 性能测试 该项目包含性能测试功能,用于对比工具库方法与原生方法的性能差异。 ### 运行性能测试 ```bash # 执行性能测试 node performance-comparison/run-performance.js ``` ### 性能测试结果 | 方法 | 性能对比(工具库/原生) | 说明 | |------|------------------------|------| | set | 70.80x | 工具库方法更快 | | cloneDeep | 9.19x | 工具库方法更快 | | chunk | 0.76x | 原生方法更快 | | merge | 0.03x | 原生方法更快 | | get | 0.28x | 原生方法更快 | ## License MIT