ut2
一个现代 JavaScript 实用工具库。点击查看在线文档。
比较
与其他工具库对比(lodash
、underscore
)
- 大部分是基于 ES2015+ 标准实现的纯函数,没有过多的包装嵌套。
- 使用 TypeScript 实现,提供类型定义。
- 导出
es
、cjs
、umd
模块格式,支持不同开发环境使用。
兼容性
兼容现代浏览器 Firefox、Chrome、Safari、Opera,以及 Node.js >= 10 。
如果要兼容 IE 系列浏览器,需要提供相应的 Polyfill 支持,建议使用 @babel/preset-env 设置对应的 targets
。
使用
es
或 node
开发环境
安装依赖
npm install ut2
yarn add ut2
pnpm add ut2
浏览器原生开发环境
如果你的项目使用的是原生方式开发,可以在浏览器中使用 script
标签直接引入文件,并使用全局变量 ut2
。
npm
包的 ut2/dist
目录下提供了 UMD
包 ut2.js
以及 ut2.min.js
。你也可以通过 UNPKG 下载到本地进行使用。或者直接使用 UNPKG 线上版本 注意版本 。
示例
所有方法都在 ut2
模块中。
import { debounce } from 'ut2';
const debounced = debounce(() => {
// do something
}, 300);
API
下列方法全部在
ut2
模块直接导出,分类只是为了可读性。你可以点击查看在线文档,了解更多信息。
import { throttle, chunk, max } from 'ut2'
- Array 数组
- Collection 集合
- Function 函数
- Language 语言
- isArguments -
arguments
对象。 - isArray -
Array
对象。 - isArrayBuffer -
ArrayBuffer
对象。 - isArrayLike - 类数组。
- isArrayLikeObject - 类数组对象。
- isBigInt -
bigint
类型或对象。 - isBlob -
Blob
对象。 - isBoolean - 布尔类型或对象。
- isBuffer -
Buffer
对象。 - isDataView -
DataView
对象。 - isDate -
Date
对象。 - isElement -
Dom
元素。 - isEmpty - 空对象、数组、
Map
、Set
。 - isEqual - 深比较。
- isError -
Error
对象。 - isFinite - 有限数字。
- isFile -
File
对象。 - isFunction -
Function
对象。 - isInteger - 整数。
- isLength - 有效的类数组长度。
- isMap -
Map
对象。 - isMatch - 普通对象部分匹配的深比较。
- isNaN -
NaN
。 - isNil -
undefined
或null
。 - isNull -
null
。 - isNumber - 数字类型或对象。
- isObject - 对象。
- isObjectLike - 类对象。
- isPlainObject - 普通对象。
- isPromiseLike - 类
Promise
对象。 - isRegExp -
RegExp
对象。 - isSafeInteger - 安全整数。
- isSet -
Set
对象。 - isString - 字符串类型或对象。
- isSymbol -
Symbol
类型或对象。 - isTypedArray - 类型化数组。
- isUndefined -
undefined
。 - isWeakMap -
WeakMap
对象。 - isWeakSet -
WeakSet
对象。 - isWindow -
Window
对象。
- isArguments -
- Math 数学
- Number 数字
- Object 对象
- allKeys - 对象自身的可枚举属性(包含
Symbol
属性)。 - allKeysIn - 对象自身及继承的可枚举属性(包含
Symbol
属性)。 - findKey - 查找对象的键。
- invert - 对象自身的可枚举属性(包含
Symbol
属性)和值反转。 - keys - 对象自身的可枚举属性(不包含
Symbol
属性)。 - keysIn - 对象自身及继承的可枚举属性(不包含
Symbol
属性)。 - merge - 递归对象自身的可枚举属性(包含
Symbol
属性)或数组进行合并。 - omit - 排除部分属性。
- omitBy - 根据方法,排除部分属性。
- pick - 选择部分属性。
- pickBy - 根据方法,选择部分属性。
- allKeys - 对象自身的可枚举属性(包含
- String 字符串
- camelCase - 驼峰小写。
- capitalize - 首字母大写,其余小写。
- escape - 转义
&
<
>
"
'
为 HTML 实体字符。 - escapeRegExp - 转义为
RegExp
字符串中的特殊字符。 - kebabCase - 连接符分隔小写。
- lowerCase - 空格分隔小写。
- lowerFirst - 首字母小写。
- pascalCase - 帕斯卡小写。又名大驼峰。
- snakeCase - 下划线分隔小写。
- unescape - 转义字符串中的 HTML 实体字符
&
<
"
'
。 - upperCase - 空格分隔大写。
- upperFirst - 首字母大写。
- words - 拆分词组。
- Util 实用工具
- castArray - 包装成数组。
- conforms - 创建断言对象属性的方法。
- conformsTo - 断言对象属性。
- constant - 返回自身的函数。
- defaultTo - 默认值。
- eq - 等于。
- gt - 大于。
- gte - 大于等于。
- guard - 函数守卫。
- identity - 返回第一个参数的函数。
- list - 迭代执行次数。
- lt - 小于。
- lte - 小于等于。
- noop - 空函数。
- nthArg - 返回指定位置参数的函数。
- range - 创建升序或降序的数字数组。
- retry - 异步函数错误重试。
- sleep - 返回
promise
延迟。 - toFinite - 转为有限数字。
- toInteger - 转为整数。
- toLength - 转为数组长度整数。
- toNumber - 转为数字。
- toSafeInteger - 转为安全整数。
- toString - 转为字符串。
- tryit - 包装函数为错误优先函数。
- uniqueId - 唯一 ID。
- GLOBAL 其他导出的成员
- MAX_ARRAY_LENGTH - 最大数组长度。
- MAX_SAFE_INTEGER - 最大安全整数。
- MIN_SAFE_INTEGER - 最小安全整数。
- VERSION - 当前版本号。
- isBrowser - 当前运行环境是否为浏览器。
- root - 全局对象。