增加Obejct.groupBy和Map.groupBy
parent
0afc54671b
commit
be25f2dd4b
|
@ -8,9 +8,14 @@
|
||||||
```js
|
```js
|
||||||
├── Obejct
|
├── Obejct
|
||||||
│ └── .empty(any) // 判断对象是否为空对象
|
│ └── .empty(any) // 判断对象是否为空对象
|
||||||
|
│ └── .groupBy(arr, fn) // 数组分组, 返回分组后的对象
|
||||||
|
│ └── .hasOwn(any, key) // 安全版的 Object.prototype.hasOwnProperty()
|
||||||
├── Obejct.prototype
|
├── Obejct.prototype
|
||||||
│ └── .toParams() // 把对象转为 key1=value1&key2=value2 格式
|
│ └── .toParams() // 把对象转为 key1=value1&key2=value2 格式
|
||||||
│
|
│
|
||||||
|
├── Map
|
||||||
|
│ └── .groupBy(any) // 数组分组, 返回分组后的对象
|
||||||
|
│
|
||||||
├── Array.prototype
|
├── Array.prototype
|
||||||
│ ├── .flat(depth) // 数组降维
|
│ ├── .flat(depth) // 数组降维
|
||||||
│ ├── .flatMap(fn) // 等价于 map(fn) -> flat(1)
|
│ ├── .flatMap(fn) // 等价于 map(fn) -> flat(1)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "es.shim",
|
"name": "es.shim",
|
||||||
"version": "2.2.1",
|
"version": "2.2.2",
|
||||||
"description": "实现部分新API, 以及一些常用的扩展方法",
|
"description": "实现部分新API, 以及一些常用的扩展方法",
|
||||||
"keyworks": [
|
"keyworks": [
|
||||||
"es5",
|
"es5",
|
||||||
|
|
|
@ -4,8 +4,9 @@
|
||||||
* @date 2022/01/27 15:33:09
|
* @date 2022/01/27 15:33:09
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import './lib/object.js'
|
|
||||||
import './lib/array.js'
|
import './lib/array.js'
|
||||||
|
import './lib/object.js'
|
||||||
|
import './lib/map.js'
|
||||||
import './lib/string.js'
|
import './lib/string.js'
|
||||||
import './lib/number.js'
|
import './lib/number.js'
|
||||||
import './lib/date.js'
|
import './lib/date.js'
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
/**
|
||||||
|
* {}
|
||||||
|
* @author yutent<yutent.io@gmail.com>
|
||||||
|
* @date 2024/03/28 18:48:08
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (!Map.groupBy) {
|
||||||
|
Object.defineProperty(Map, 'groupBy', {
|
||||||
|
value: function (arr, fn) {
|
||||||
|
return arr.groupToMap(fn)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
|
@ -21,6 +21,25 @@ if (!Object.empty) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!Object.groupBy) {
|
||||||
|
Object.defineProperty(Object, 'groupBy', {
|
||||||
|
value: function (arr, fn) {
|
||||||
|
return arr.group(fn)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!Object.hasOwn) {
|
||||||
|
Object.defineProperty(Object, 'hasOwn', {
|
||||||
|
value: function (obj, key) {
|
||||||
|
if (obj === null) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return obj.hasOwnProperty(key)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 将对象转为url参数字符串
|
* 将对象转为url参数字符串
|
||||||
* 注意: 这里不会处理复杂类型, 直接按toString结果拼接
|
* 注意: 这里不会处理复杂类型, 直接按toString结果拼接
|
||||||
|
|
Loading…
Reference in New Issue