Skip to content

groupBy

对给定的 数组 中的元素进行分组,传递的函数的返回值将用作分组的键。

使用

ts
import { groupBy } from 'rattail'

groupBy([1, 2, 3, 4, 5], (num) => (num % 2 === 0 ? 'even' : 'odd'))
// return { odd: [1, 3, 5], even: [2, 4] }
groupBy(
  [
    { name: 'a', gender: 'female' },
    { name: 'b', gender: 'female' },
    { name: 'c', gender: 'male' },
  ],
  (val) => val.gender,
)
// return {
//   female: [
//     { name: 'a', gender: 'female' },
//     { name: 'b', gender: 'female' },
//   ],
//   male: [{ name: 'c', gender: 'male' }],
// }

参数

参数类型默认值
arrArray
fn(val: any) => any

返回值

类型
object