libiao-js
v1.1.1
Published
A lightweight JavaScript utility library with array, object and tree operations
Maintainers
Readme
libiao-js
一个轻量级的 JavaScript 工具库,提供数组、对象和树形结构的实用操作方法。
✨ 特性
- 🔒 代码混淆保护 - 源码已混淆,保护知识产权
- 📦 双模块支持 - 同时支持 ES Module 和 CommonJS
- 🎯 TypeScript 支持 - 包含完整的类型定义
- 🪶 轻量级 - 无任何外部依赖
- ⚡ 高性能 - 优化的算法实现
安装
npm install libiao-js使用方法
ES Module (推荐)
import { cloneDeep, uniqueByKey, getType, treeAddKeyVal, treeFilter, treeToArray, fn } from 'libiao-js';CommonJS
const { cloneDeep, uniqueByKey, getType, treeAddKeyVal, treeFilter, treeToArray, fn } = require('libiao-js');TypeScript
import { cloneDeep, uniqueByKey, getType } from 'libiao-js';
// 类型推断自动工作
const original = { a: 1, b: { c: 2 } };
const cloned = cloneDeep(original); // 类型: { a: number; b: { c: number; } }API 说明
cloneDeep 深拷贝方法
const original = { a: 1, b: { c: 2 } };
const cloned = cloneDeep(original);
console.log(cloned); // { a: 1, b: { c: 2 } }uniqueByKey 二维数组根据key去重
const array = [
{ id: 1, name: 'A' },
{ id: 2, name: 'B' },
{ id: 1, name: 'C' }
];
const result = uniqueByKey(array, 'id');
console.log(result); // [{ id: 1, name: 'C' }, { id: 2, name: 'B' }]getType 获取数据类型
console.log(getType(123)); // 'number'
console.log(getType('hello')); // 'string'
console.log(getType([1, 2, 3])); // 'array'
console.log(getType({})); // 'object'treeAddKeyVal 树形结构中追加一个属性
const treeList = [
{ id: 1, name: 'parent', children: [
{ id: 2, name: 'child' }
]}
];
const result = treeAddKeyVal(treeList, 'checked', true);
console.log(result); // 添加 checked: true 属性到所有节点treeFilter 树形结构根据一个条件返回过滤的数据
const treeList = [
{ id: 1, department: true, children: [
{ id: 2, department: false }
]}
];
const result = treeFilter(treeList, 'department', true);
console.log(result); // 只返回 department 为 true 的节点treeToArray 树形数据拍成一维度数组
const treeList = [
{ name: '1', children: [{ name: '1-1' }] }
];
const result = treeToArray(treeList);
console.log(result); // [{ name: '1' }, { name: '1-1' }]fn 测试函数
fn(); // 输出测试信息特性
- 代码已混淆,保护源码安全
- 支持 ES6 模块和 CommonJS 两种导入方式
- 包含 TypeScript 类型定义,为 TS 项目提供完整类型提示
- 轻量级,无依赖
开源协议
ISC License
作者
libiao [email protected]
