2023-06-20 18:46:30 +08:00
|
|
|
![downloads](https://img.shields.io/npm/dt/es.shim.svg)
|
|
|
|
![version](https://img.shields.io/npm/v/es.shim.svg)
|
2017-02-28 00:54:18 +08:00
|
|
|
|
|
|
|
# es.shim
|
2020-09-18 10:32:10 +08:00
|
|
|
> `es.shim` 提供了部分新API, 以及一些常用的扩展方法。具体如下:
|
2017-02-28 00:54:18 +08:00
|
|
|
|
|
|
|
|
2022-01-27 15:17:09 +08:00
|
|
|
```js
|
2022-01-27 15:16:07 +08:00
|
|
|
├── Obejct
|
2022-01-27 15:41:47 +08:00
|
|
|
│ └── .empty(any) // 判断对象是否为空对象
|
2022-01-27 15:16:07 +08:00
|
|
|
├── Obejct.prototype
|
2022-01-27 15:41:47 +08:00
|
|
|
│ └── .toParams() // 把对象转为 key1=value1&key2=value2 格式
|
2022-01-27 15:16:07 +08:00
|
|
|
│
|
|
|
|
├── Array.prototype
|
2022-01-27 15:41:47 +08:00
|
|
|
│ ├── .flat(depth) // 数组降维
|
|
|
|
│ ├── .flatMap(fn) // 等价于 map(fn) -> flat(1)
|
|
|
|
│ ├── .at(index) // 读取指定位置的元素, 负值则从后往前读
|
|
|
|
│ ├── .findLast(fn) // 查找匹配的最后一项
|
2023-06-20 18:44:43 +08:00
|
|
|
│ ├── .findLastIndex(fn) // 查找匹配的最后一项的索引值
|
|
|
|
│ ├── .toSorted(fn) // 数组排序, 返回一个副本(不改变原数组)
|
|
|
|
│ ├── .toReversed(fn) // 反转数组, 同样返回一个副本
|
|
|
|
│ ├── .toSpliced(fn) // 数组截取, 同样返回副本
|
|
|
|
│ ├── .with(index, newValue) // 创建一个副本,再修改副本中的元素, 返回副本
|
|
|
|
│ ├── .group(fn) // 数组分组
|
|
|
|
│ └── .groupToMap(fn) // 数组分组, 返回Map对象
|
2022-01-27 15:16:07 +08:00
|
|
|
│
|
|
|
|
├── Date
|
2022-01-27 15:41:47 +08:00
|
|
|
│ └── .isDate(any) // 判断对象是否为 日期对象
|
2022-01-27 15:16:07 +08:00
|
|
|
├── Date.prototype
|
2022-01-27 15:41:47 +08:00
|
|
|
│ ├── .getWeek() // 获取当前是本月第几周
|
|
|
|
│ ├── .getFullWeek() // 获取当前是本年度第几周
|
|
|
|
│ └── .format(formatStr) // 把日期按指定格式转换
|
2022-01-27 15:16:07 +08:00
|
|
|
│
|
|
|
|
├── String.prototype
|
2022-01-27 15:41:47 +08:00
|
|
|
│ ├── .splice(index, len, pad) // 类似数组的splice方法
|
|
|
|
│ ├── .htmlspecialchars() // 字符串HTML安全转义
|
|
|
|
│ ├── .tohtml() // htmlspecialchars的还原
|
|
|
|
│ ├── .xss() // 字符串安全转义
|
|
|
|
│ ├── .escape() // js特殊字符的转义
|
|
|
|
│ ├── .at(index) // 读取指定位置的字符, 负值则从后往前读
|
2023-06-20 17:33:35 +08:00
|
|
|
│ ├── .toJson() // 将url参数转为对象
|
|
|
|
│ ├── .lt(version) // 判断是否小于目标版本号
|
|
|
|
│ ├── .lte(version) // 判断是否小于或等于目标版本号
|
|
|
|
│ ├── .gt(version) // 判断是否大于目标版本号
|
|
|
|
│ ├── .gte(version) // 判断是否大于或等于目标版本号
|
|
|
|
│ └── .eq(version) // 判断是否等于目标版本号, 1.0和1.0.0这里会返回true, 而用 == 或 ===, 无法得到正确的结果
|
2022-01-27 15:16:07 +08:00
|
|
|
│
|
|
|
|
├── Number
|
2022-01-27 15:41:47 +08:00
|
|
|
│ ├── .parse(str) // 将安全范围内的数字字符串转为数字类型
|
|
|
|
│ └── .fromString(str) // 将字符串转为数字类型
|
2022-01-27 15:16:07 +08:00
|
|
|
│
|
|
|
|
└── Promise
|
2022-01-27 15:41:47 +08:00
|
|
|
└── .defer() // 创建一个延迟的Promise对象
|
2022-01-27 15:16:07 +08:00
|
|
|
```
|
2017-02-28 00:54:18 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|