# fnutools **Repository Path**: account68/fnutools ## Basic Information - **Project Name**: fnutools - **Description**: javascript工具类函数,内置各种常用工具函数,如树搜索、深拷贝、时间格式处理、数字格式处理等 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2023-08-22 - **Last Updated**: 2025-12-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # fnutools ### 介绍 javascript 工具类函数,内置各种常用工具函数,如树搜索、深拷贝、时间格式处理、数字格式处理等 ### 安装 npm i fnutools ### 使用 1. 全部引入 imort fnutools from 'fnutools' 2. 按需引入 imort { treeSearch, checkType} from 'fnutools' ### 文档 ### treeSearch(treeOriginData, searchData, matchKey) 函数描述:树搜索 | params | 是否必填 |数据类型| 描述 | |----------------|------|-------------|------------| | treeOriginData | 必填 |Array| 树的源数据,可以理解为渲染页面树的备份数据 | | searchData | 必填 |String| 需要被匹配的文本,可以理解为搜索框中的用户输入 | | matchKey | 必填 |String| 指定树源数据中通过那一个 key 去匹配 searchData | ### checkType(data) 函数描述:判断数据类型 | params | 是否必填 |数据类型| 描述 | |--------|------|----|----| | data | 必填 |any| 数据 | 说明:支持以下 9 种数据类型检验 | 类型 | 描述 | |-----------|-----| | Number | 数值 | | String | 字符串 | | Object | 对象 | | Array | 数组 | | Boolean | 布尔值 | | Date | 时间 | | Function | 函数 | | Undefined | undefined | | Null | Null | ### arrayDeduplyObject(array,key) 函数描述:Array去重 | params | 是否必填 |数据类型| 描述 | |--------|------|---------------|--------| | array | 必填 |Array| 数组 | | key | 必填 |String| 指定根据那个 key 的值去重 | ### arrayDeduply(array) 函数描述:Array去重 | params | 是否必填 |数据类型| 描述 | |--------|------|----|----| | array | 必填 |Array| 数组 | ### clone(data) 函数描述:引用数据类型深拷贝,目前仅支持引用数据类型 Object、Array 实现深拷贝 | params | 是否必填 |数据类型| 描述 | |--------|------|----|----| | data | 必填 |any| 数据 | ### createRandomStrAndNum(data) 函数描述:生成指定长度(默认 11 位)的 a-z+0-9 混合的随机字符串 | params | 是否必填 |数据类型| 描述 | |--------|------|----|----| | data | 必填 |number| 长度 | ### createRandomStr(data) 函数描述:生成指定长度(默认 11 位)的 a-z 的随机字符串 | params | 是否必填 |数据类型| 描述 | |--------|------|----|----| | data | 必填 |number| 长度 | ### latLngToDMS(data) 函数描述:地理坐标数据(纬经度)格式转(度分秒)格式 | params | 是否必填 |数据类型| 描述 | |--------|------|----|----| | value| 必填 |number| 地理坐标数据(纬经度)格式 如 120.32476 | ### dMSToLatLng(data) 函数描述:地理坐标数据(度分秒)格式转(纬经度)格式 | params | 是否必填 |数据类型| 描述 | |--------|------|----|----| | value| 必填 |string| 地理坐标数据(度分秒)格式 如 120°20'35.60"传 120-20-35.60 | | number| 必填 |number| 保留的小数位数 | ### numberFormat(number, sliceLength, str, isInit) 函数描述:数字处理函数 | params | 是否必填 | 数据类型 | 描述 | |-------------|------ |----------|----------| | number | 必填 | string/number | 需要处理的数字 | | sliceLength | 必填 | number | 每段显示几个数字 | | str | 必填 | string | 每段的分隔符 | | isInit | 必填 | boolean/number| 是否显示小数,true 的时返回的小数部分和传入的一致,false 时取整,number 设置保留几位小数 | 例子: ``` console.warn(numberFormat(12345.6765, 3 , ',' , 2)); //12345.68 console.warn(numberFormat(123456765, 4 , ' ' , false)); //1 2345 6765 ``` ### renderCallback(selector, callback) 函数描述:指定的 dom 在页面渲染完成以后的回调函数 | params | 是否必填 | 数据类型 | 描述 | | -------- | -------- | -------- | ---------- | | selector | 是 | string | css 选择器 | | callback | 是 | function | 回调函数 | ``` renderCallback('.box', (dom) => { console.warn('dom', dom) }) ```