group.ts 392 B

1234567891011121314
  1. import groupToMap from './group-to-map';
  2. export default <T>(data: T[], condition: ((v: T) => string) | string | string[]): T[][] => {
  3. if (!condition) {
  4. // 没有条件,则自身改成数组
  5. return [ data ];
  6. }
  7. const groups = groupToMap(data, condition) as { [key: string]: T };
  8. const array = [];
  9. for (const i in groups) {
  10. array.push(groups[i]);
  11. }
  12. return array;
  13. };