{"id":39544484,"url":"https://github.com/guanruihua/rh-js-methods","last_synced_at":"2026-01-18T06:39:51.338Z","repository":{"id":37290856,"uuid":"423903871","full_name":"guanruihua/rh-js-methods","owner":"guanruihua","description":"工具方法","archived":false,"fork":false,"pushed_at":"2022-11-26T14:45:54.000Z","size":602,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-04-18T13:26:02.117Z","etag":null,"topics":["javascript","method","npm","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/guanruihua.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-11-02T15:44:13.000Z","updated_at":"2024-04-18T13:26:02.118Z","dependencies_parsed_at":"2022-07-12T11:35:05.331Z","dependency_job_id":null,"html_url":"https://github.com/guanruihua/rh-js-methods","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/guanruihua/rh-js-methods","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guanruihua%2Frh-js-methods","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guanruihua%2Frh-js-methods/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guanruihua%2Frh-js-methods/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guanruihua%2Frh-js-methods/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/guanruihua","download_url":"https://codeload.github.com/guanruihua/rh-js-methods/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/guanruihua%2Frh-js-methods/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28531997,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["javascript","method","npm","typescript"],"created_at":"2026-01-18T06:39:51.204Z","updated_at":"2026-01-18T06:39:51.301Z","avatar_url":"https://github.com/guanruihua.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 描述\n\n- **当前包改名为 abandonjs**\n- 常用方法的封装\n\n## 使用\n\n```shell\nnpm install rh-js-methods\n```\n\n```js\nimport { filter } from 'rh-js-methods'\n```\n\n\u003cdiv class=\"exploded-line\" /\u003e\n\u003chr/\u003e\n\n## array\n\n### `filter\u003cT` `extends` `object\u003e`\n\n- `description` 单层过滤\n- `param` `list` `T[]` 待过滤数组\n- `param` `filterConditions` { `[key:string]:` `number|` `string` | `RegExp` } 过滤条件\n- `param` `retainNotObject` 是否保留非对象项\n- `returns` `T[]`\n\n### `flat`\n\n- `description` 数组扁平化\n- `param` `list` {`Array`}\n- `param` `depth` {`?number` = `1`} 深度\n- `returns` `Array`\n- `version:` `2.2.0`\n\n### `isArray`\n\n- `description` 是否为数组\n- `param` `value` `any`\n- `returns` `boolean`\n\n### `selects\u003cT\u003e`\n\n- `description` 指定范围 来随机选择数组元素\n- `param` `list:` `T[]`\n- `param` `min:` `number`\n- `param` `max:` `number` (包括)\n- `returns` `T[]`\n\n### `select\u003cT\u003e`\n\n- `description` 选择数组其中一项, 不指定就随机选一\n- `param` `list` `T[]` 待选择数组\n- `param` `index` `?number` 指定选择索引(可为负数)\n- `returns` `T|null` 选择项\n\n### `toArray\u003cT\u003e`\n\n- `description` 将非数组转换为数组\n- `param` `value` `T` | `T[]`\n- `returns` `T[]`\n\n### `pick`\n\n- `description` 从数组中取任意 一个 元素\n- `param` `any[]` `list`\n- `returns` 数组中任意一个\n\n### `unique\u003cT\u003e`\n\n- `description` 去除数组重复项\n- `param` `T[]` `list` 待过滤数组\n- `returns` `T[]`\n\n### `chunk\u003cT\u003e`\n\n- `description` 通过 `size` 切割数组\n- `param` `list` `T[]`\n- `param` `size` `number` 切割点索引\n- `returns` `T[][]` [ [切割点前数据], [切割点后数据] ]\n\n### `concat\u003cT\u003e`\n\n- `description` 连接多个数组\n- `params` `...list` `any[][]` 多个数组\n- `returns` `any[]`\n\n### `drop\u003cT\u003e`\n\n- `description` 去除前`n`个元素\n- `param` `T[]` `list` 数组\n- `param` `number` `n`=`0` 要去除元素个数\n- `returns` `T[]` `list` 剩余切片\n\n### `dropRight\u003cT\u003e`\n\n- `description` 从右往左删除的指定个数\n- `param` `list` `T[]` 要处理的数组\n- `param` `n`=`1` 需要删除的元素数量\n- `returns` `T[]`\n\n### `fill\u003cT\u003e`\n\n- `description` 在原有数组上改变, 修改指定位置的值\n- `param` `array` `T[]` 待填充改变的数组\n- `param` `value` `T` 填充值\n- `param` `num` 填充个数\n- `returns`\n\n### `difference\u003cT\u003e`\n\n- `description` 过滤数组\n- `param` `list` `T[]` 待过滤的数组\n- `param` `...filterConditions:T[]` 过滤使用的条件\n- `returns` `T[]` 过滤后的数组`(new)`\n\n### `zip`\n\n- `description:` 创建一个分组元素的数组，数组的第一个元素包含所有给定数组的第一个元素，数组的第二个元素包含所有给定数组的第二个元素，以此类推\n- `version:` `2.1.11`\n- `param` `arrays` : `...any[]`\n- `returns` `any[]`\n\n\u003chr/\u003e\n\n## color\n\n### `isHexColor`\n\n- `description` 判断是否为颜色字符串或数字\n- `param` `hex` `string` 三位/六位的十六进制的颜色\n- `returns` `boolean`\n\n### `toRGB`\n\n- `description` `16`进制颜色转`RGB`/`RGBA`字符串\n- `param` `val` `16`进制颜色\n- `param` `?opa` 透明度\n- `returns` `string`\n\n\u003chr/\u003e\n\n## event\n\n- `description` 绑定事件\n- `param` `name` 事件名称\n- `param` `fn` 待触发事件\n\n- `param` `name` 移除事件的名称\n\n- `description` 触发后就移除当前事件\n- `param` `name` 待触发事件的名称\n- `param` `args` 触发事件的参数\n\n- `param` `name` 待触发事件的名称\n- `param` `args` 触发事件的参数\n\n### `EventEmitter\u003cT`, `U\u003e`\n\n- `description` 简易观察者模式\n\n\u003chr/\u003e\n\n## function\n\n### `toPromise\u003cT\u003e`\n\n- `description` 将方法或值转换为`Promise`对象, 若传输`values`切`target`为`function`, 就会返回执行结果\n- `param` `target` `any`\n- `param` `...values` `?any[]`\n- `returns` `Promise\u003cT\u003e`\n\n### `isArray`\n\n- `description` 是否为数组\n- `param` `value` `any`\n- `returns` `boolean`\n\n### `once`\n\n- `description`  `fn` 方法只会执行一次\n- `param` `fn` 指定值运行一次的方法\n- `returns` 返回封装后的方法\n\n### `throttle`\n\n- `description` 节流: 用于限制函数触发频率, 每个`delay`时间间隔，最多只能执行函数一次\n- `param` `fn` `function` 待处理函数\n- `param` `interval` `number` 间隔\n- `returns` `func`\n\n### `debounce`\n\n- `description`\n  - 防抖:  时间内只会执行一次 可以减少函数触发的频率\n  - 当函数触发时，使用一个定时器延迟执行操作。\n  - 当函数被再次触发时，清除已设置的定时器，重新设置定时器。\n  - 如果上一次的延迟操作还未执行，则会被清除。\n- `param` `fn` `function`\n- `param` `interval` `number`\n- `returns`\n\n### `after`\n\n- `description` 调用`n`次后才触发`func`\n- `param` `n` 调用后多少次才执行\n- `param` `func` 限定的函数\n- `returns` 新的限定函数\n\n### `ary`\n\n- `description` 调用`func`最多接受`n`个参数\n- `param` `func` 限定函数\n- `param` `n` 限制参数数量\n- `returns` 新的覆盖函数\n\n### `before`\n\n- `description` 调用`n`次后，再调用就会返回最后一次调用的结果\n- `param` `n` 超过`n`次不再调用\n- `param` `func` 限定函数\n- `returns` 新的限定函数\n\n### `bind`\n\n- `description` `thisArg`绑定`func`的`this`，并且`func`会接收`partials`附加参数\n- `param` `func` 绑定的函数\n- `param` `thisArg` 绑定的对象\n- `param` `partials` 附加的部分参数\n- `returns` 新的绑定函数\n\n### `curry`\n\n- `description` 柯里化\n- `param` `func` 待柯里化函数\n- `param` `len` 待柯里化参数个数\n- `returns` 柯里化函数\n\n### `delay`\n\n- `param` `func` 指定函数\n- `param` `delayTime` 延迟时间\n- `param` `args` 传输参数\n- `returns` `func`执行结果`(Promise)`\n\n### `flip`\n\n- `param` `func` 要翻转参数的函数\n- `param` `args` 反转参数\n- `returns`\n\n### `loop`\n\n- `description:` 指定次数遍历\n- `param` `length` : `number`\n- `param`  `callback` : `(index:` `number)` =\u003e `true` | `void`\n- `returns` `number`\n\n### `loops`\n\n- `description:` 指定次数遍历\n- `param` `length` : `number[]`\n- `param`  `callback` : `(index:` `number)` =\u003e `true` | `void`\n- `returns` `number`\n\n### `loops\u003cT\u003e`\n\n- `description:` 数组遍历\n- `version:` `2.1.11`\n- `param` `arrays`\n- `param` `callback`\n- `returns` `number`\n\n\u003chr/\u003e\n\n## math\n\n- 无限大（小）当做 `js` `Number` 的最大（小）值[主要处理计算异常的问题, 二期再加入大位数处理]\n- 二期再加入大位数计算\n\n### `HEX`\n\n- `description` 将数字装换成需要装换的数据格式`(k`, `m`, `g`, `t`, `p`, `e`, `z`, `y`, `b)`\n- `param` `num` `(number|string)` 待转换的数子 `(\u003cbinary^` `9)`\n- `param` `binary` `(number)` 进制 `(default:1024)`\n- `returns` `(number)`\n\n### `add`\n\n- `description` 两数求和\n- `param` `augend` `number` 加数\n- `param` `addend` `number` 被加数\n- `returns` `number` ( 不会超过数字的边界值 `1.7976931348623157e`+`308` )\n\n### `ceil`\n\n- `description` 向上取整的值(没有对`number`边界值`[Infinity`值处理`])`\n- `param` `num` 要向上舍入的值\n- `param` `precision` `number` = `0` 精度(负数就是想整数部分取整)\n- `returns` `number`\n\n### `divide`\n\n- `description` 相除\n- `param` `dividend` `number` 除数\n- `param` `divisor` `number` 被除数\n- `returns` `number` 商\n\n### `floor`\n\n- `description` 向下取整(没有对`number`边界值`[Infinity`值处理`])`\n- `param` `num` 待向下舍入的值\n- `param` `precision` 精度 (负数就是处理整数部分)\n- `returns` 向下取整\n\n### `max`\n\n- `description` 求最大值(只会判断有效值), 只会统计`number` | `string`类型的数值\n- `param` `list` 数组\n- `returns` 最大值\n\n### `maxBy`\n\n- `description` 求最大值\n- `param` `list` 要迭代数组\n- `param` `itteratee` 迭代函数 / `key`\n- `returns` 最大值\n\n### `mean`\n\n- `description` 求平均值\n- `param` `list` 要迭代的数组\n- `returns` 平均值\n\n### `meanBy`\n\n- `description` 求平均数\n- `param` `list` 要迭代的数组\n- `param` `itteratee` 迭代函数 / `key`\n- `returns` 平均数\n\n### `min`\n\n- `description` 求最小值\n- `param` `list` 要迭代的数组\n- `returns` 最小值\n\n### `minBy`\n\n- `description` 求最小值\n- `param` `list` 要迭代的数组\n- `param` `itteratee` 迭代函数 / `key`\n- `returns` 最小值\n\n### `sum`\n\n- `description` 求和\n- `param` `list` 要迭代的数组\n- `returns` 总和\n\n### `sumBy`\n\n- `description` 求和\n- `param` `list` 要迭代的数组\n- `param` `itteratee` 迭代函数 / `key`\n- `returns` 总和\n\n### `multiply`\n\n- `description` 相乘\n- `param` `augend` `number` 乘数\n- `param` `addend` `number` 被乘数\n- `returns` 积\n\n\u003chr/\u003e\n\n## number\n\n### `isFloat`\n\n- `description` 判断数是否为浮点型\n- `param` `num` 待检测的数据类型\n- `returns` `boolean`\n\n### `isNumber`\n\n- `description` 是否为数字\n- `support:` `Number`, `NumberString`\n- `unsupported:` `Infinity`, `Function`\n- `param` `value` `any`\n- `returns` `boolean`\n- `update:` `2.2.0`\n\n### `random`\n\n- `description` 随机数\n- `param` `lower` { `number` } 下限\n- `param` `upper` { `number` } 上限\n- `param` `floating` { `number` = `0` } 是否返回浮点数(位数), `0:` 整数\n\n### `spLength`\n\n- `description` 指定长度\n- `param` `value` `any`\n- `param` `min` = `0`\n- `param` `max` `number`\n- `returns` `string`\n\n### `isEffectNumber`\n\n- `description` 是否为`js`的有效区间的数, 非`number`类型都为`false`\n- `param` `num` `any`\n- `returns` `boolean`\n\n### `toNumber`\n\n- `description` 将值转换为`Number`, 不可以正确装换的值, 均返回`0`\n- `param` `value` `any` 待转换的数值\n- `returns` `number`\n\n### `toFloat`\n\n- `description` 转换为指定位数的浮点数\n- `param` `num` { `number` } 数字\n- `param` `fixed` { `number` } 小数点位数\n- `returns` { `number` }\n\n### `getDecimal`\n\n- `description` 获取小数点位数\n- `param` `num` { `number` }\n- `returns` { `number`=`0` }\n\n### `clamp`\n\n- `description` 限制在`lower`和`upper`之间\n- `param` `num` 待限制的值\n- `param` `lower` 下限\n- `param` `upper` 上限\n- `returns` 返回被限制的值\n\n### `inRange`\n\n- `description` 判断是否在该范围\n- `param` `num` 要检查的值\n- `param` `start`=`0` 开始范围\n- `param` `end` 结束范围(包含该值)\n- `returns` `boolean`\n\n### `between`\n\n- `description` 判断值是否在两值之间\n- `param` `num` `number` 待判断值\n- `param` `start`=`0` 起始值\n- `param` `end` `number` 结束值(不包含该值)\n- `returns` `boolean`\n\n### `round`\n\n- `description`数字四舍五入，保留`n`位小数\n- `param` `number` `number` 待处理数值\n- `param` `n` `number` = `0` 四舍五入的位数\n- `returns`\n\n### `toThousands`\n\n- `description` 数字每千位加逗号\n- `param` `num` `string|number`\n- `returns` `string`\n\n\u003chr/\u003e\n\n## object\n\n### `existKeys`\n\n- `description` 判断对象是否拥有指定`keys`\n- `param` `obj` `object`\n- `param` `keys` `string[]` | `string`\n- `returns` `boolean`\n\n### `isObject`\n\n- `description` 判断是否为`Object`\n- `param` `value`\n- `returns` `boolean`\n\n### `serialize`\n\n- `description` 序列化对象\n- `param` `query` `object`\n- `param` `encode` `boolean` = `false`\n- `returns` `string`\n\n### `omitRecord\u003cT` `extends` `Record\u003cstring`, `any\u003e` = `Record\u003cstring`, `any\u003e\u003e`\n\n- `description` 忽略`object`属性\n- `param` `record` `T`\n- `param` `propertys` `string[]`\n- `returns` `T`\n\n\u003chr/\u003e\n\n## string\n\n### `hide`\n\n- `description` 隐藏指定位置的字符\n- `param` `target` 待替换子串\n- `param` `start` = `0`  开始位置\n- `param` `end` = `target.length`\n- `returns` `string`\n\n### `replaces`\n\n- `description` 同时定义多个`replace`的规则使用\n- `param` `target` `string`\n- `param` `regs` { `reg:` `RegExp` | `string`, `value:` `string` }`[]`\n- `returns` `string`\n\n### `isString`\n\n- `description` 是否为字符串\n- `param` `val` `any`\n- `returns` `boolean`\n\n### `reverseString`\n\n- `description` 反转字符串\n- `param` `target` `string`\n- `return` `string`\n\n### `isJsonString\u003cT\u003e`\n\n- `description` 判断是否为`json`字符串, 若是并返回处理后的对象\n- `param` `val` 待判断字符串\n- `returns` `T` | `false`\n\n### `toString`\n\n- `description` 转换为字符串\n- `param` `value` `any`\n- `returns` `string`\n\n### `toStrings`\n\n- `description` 转换为字符串数组\n- `param` `value` `any[]`\n- `returns` `string[]`\n\n\u003chr/\u003e\n\n## time\n\n### `toDate`\n\n- `description` 字符串装换成`Date`对象\n- `param` `value` `string` 可以转换成时间的字符串\n- `returns` {`Date`}\n\n### `deadline`\n\n- `description` 倒计时\n- `param` `target:Date` 目标时间\n- `param` `timeKey?:` '`year`' | '`mouth`' | '`day`' | '`hour`' | '`minute`' | '`second`' | '`timeStamp`'  指定倒计时单位\n- `param` `now?:Date` 起始时间\n- `returns` {`number`}\n\n### `isDate`\n\n- `description` 检查日期是否有效, 时间戳也为有效时间`(13`位)\n- `param` `date:any` 待判断日期\n- `returns` `boolean`\n\n### `format`\n\n- `description` 时间格式化\n- `param` `time:number|string|Date`  时间\n- `param` `pattern?:string` 格式\n- `returns` `string` 格式化后的数据\n\n| 符号 | 结果| 描述 |\n| :----| :----| :----|\n| `YYYY` | `2022` | `4`位数字的年份, 忽略大小写 |\n| `YY` |  `1`-`14` | `2` 位数字的年份, 忽略大小写 |\n| `M`  `MM` | `1`-`12` | 月份数字 |\n| `D`  `DD` | `1`-`31` | 日数, 忽略大小写 |\n| `H`  `HH` | `0`-`23` |  `24` 小时制 |\n| `h`  `hh` | `1`-`12` | `12` 小时制 |\n| `m`  `mm` | `0`-`59` | 分钟|\n| `s`  `ss` | `0`-`59` | 秒钟|\n\n### `isSameDate`\n\n- `description` 时间是否相同, 时间类型支持`isDate`的类型\n- `param` `timeA` 比较时间\n- `param` `timeB` 被比较时间\n- `returns` {`boolean`}\n\n\u003chr/\u003e\n\n## util\n\n### `BanConfig`\n\n- `name:` `timeout`\n- `description` 超时时间\n- `default` `3000`\n  \n- `name:` `count`\n- `description` 最大执行次数\n- `default:` `1000000`\n  \n### `ban\u003cParams` `extends` `[]`, `Return\u003e`\n\n- `description` 限制 方法的超时和执行次数\n- `param` `func` `Func\u003cParams`, `Return\u003e`\n- `param` `config` `BanConfig`\n- `returns` `function` `(...args:` `Params):` `Return`\n\n### `asyncBan\u003cParams` `extends` `[]`, `Return\u003e`\n\n- `param` `func` `AsyncFunc\u003cParams`, `Return\u003e`\n- `param` `config` `BanConfig`\n- `returns` `function` `(...args:` `Params):` `Return`\n\n### `catchError\u003cParams` `extends` `[]`, `Return\u003e`\n\n- `param` `func` `Func\u003cParams`, `Return\u003e`\n- `param` `errorReturnValue` `Return`\n- `returns` `function` `(...args:` `Params):` `Return`\n\n### `asyncCatchError\u003cParams` `extends` `[]`, `Return\u003e`\n\n- `param` `func` `AsyncFunc\u003cParams`, `Return\u003e`\n- `param` `errorReturnValue` `Return`\n- `returns` `async` `function` `(...args:` `Params):` `Return`\n\n### `throwError\u003c\u003cParams` `extends` `any[]`, `R` = `any\u003e`\n\n- `param` `func:` `(...args:` `Params)` =\u003e `R` 待捕获错误的函数\n- `param` `isErrorResult` : `R`\n- `returns` `(...args:Params)`=`\u003eR`\n\n### `asyncThrowError\u003c\u003cParams` `extends` `any[]`, `R` = `any\u003e`\n\n- `description` 异步处理\n- `param` `func:` `(...args:` `Params)` =\u003e `R` 待捕获错误的函数\n- `param` `isErrorResult` : `R`\n- `returns` `(...args:Params)`=`\u003eR`\n\n### `changeCase`\n\n- `description`  字符转换\n  - `type:` `FirstUpper:`首字母大写 `FirstLower`：首字母小写  `Upper`：全部大写 `Lower`：全部小写\n- `param` `str` `string`\n- `param` `type` `number`\n- `returns` `string`\n\n### `isEmpty`\n\n- `description` 判断是否为无效值 `undefined` , `null`, `NaN`\n- `param` `value` `any` 待判断值\n- `returns` `boolean`\n\n### `runFunc`\n\n- `description` 运行函数, 支持普通函数和`async`函数, 否则返回`func`\n- `param` `func`\n- `param` `...args`\n- `returns`\n\n### `IsEndOfStrings`\n\n- `description` 是否为指定字符串结尾\n- `param` `fileName` `string`\n- `param` `list` `string[]`\n- `returns` `boolean`\n\n### `isImage`\n\n- `param` `fileName` `string`\n- `returns` `boolean`\n\n### `isH5Videos`\n\n- `param` `fileName` `string`\n- `returns` `boolean`\n\n### `isPdf`\n\n- `param` `fileName` `string`\n- `returns` `boolean`\n\n### `isWord`\n\n- `param` `fileName` `string`\n- `returns` `boolean`\n\n### `siExcel`\n\n- `param` `fileName` `string`\n- `returns` `boolean`\n\n### `logGroup`\n\n- `description` 分组打印(简化`console.groupCollapsed)`\n- `param` { `string` } `name` 分组名称\n- `param` { `unknown[]` } `...args` 需要分组打印的结果\n- `example` `logGroup(name[`, `...args])`\n- `return` `boolean`\n\n### `matchValue`\n\n- `param` `val` 被比较值\n- `param` `valer` 比较值 / 可为正则\n- `param` `path` 值的路径 用逗号隔开\n- `returns` `boolean`\n\n### `equal`\n\n- `description` 比较是否值和类型是否相等\n- `param` `value` `any`\n- `param` `lastValue` `any`\n- `returns`\n\n### `toPathValue`\n\n- `description` 通过`path` 来获取值\n- `param` `val` 待取值\n- `param` `path` `string` 路径 (若路径有`.` 可用`\\\\.`代替)\n- `returns` 通过路径获取对应值\n\n### `type`\n\n- `description` 获取类型\n- `param` `any` 参数\n- `return` `string` 类型名称\n\n### `types`\n\n- `description` 获取类型数组\n- `param` `params` `any[]` 待判断的参数列表\n- `param` `hasRepeat`=`false` 保留重复类型\n- `return` `string[]` 类型名称\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguanruihua%2Frh-js-methods","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fguanruihua%2Frh-js-methods","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fguanruihua%2Frh-js-methods/lists"}