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