UNPKG

z-utils-ts

Version:

使用TypeScript编写的工具函数库

22 lines (21 loc) 660 B
// 定义一个接口,键为字符串,值为任意类型 interface StringKeyObject { [key: string]: any; } /** * 分组函数 * @param {Array} arr * @param {string|Function} generatekey * @returns {object} */ export function group<T>(arr: any[], generatekey: string | Function): Object { if (typeof generatekey === 'string') { const proName = generatekey; generatekey = (item: StringKeyObject) => item[proName]; } return arr.reduce((result, currentValue) => { const key = generatekey(currentValue); (result[key] = result[key] || []).push(currentValue); return result; }, {}); }