• 使用自定义函数对数组进行分组

    Type Parameters

    • RetType extends PropertyKey

      分组键的类型(必须是属性键类型)

    • T

      数组元素类型

    • Func extends ((arg: T) => RetType)

      分组函数类型

    Parameters

    • arr: T[]

      要分组的数组

    • mapper: Func

      生成分组键的函数

    Returns Record<RetType, T[]>

    分组后的对象

    const arr = [
    { name: 'Alice', age: 20 },
    { name: 'Bob', age: 25 },
    { name: 'Charlie', age: 30 }
    ];

    // 按年龄段分组
    const grouped = groupByFunc(arr, (item) => {
    if (item.age < 20) return 'young';
    if (item.age < 30) return 'adult';
    return 'senior';
    });
    // 结果: {
    // 'adult': [{ name: 'Alice', age: 20 }, { name: 'Bob', age: 25 }],
    // 'senior': [{ name: 'Charlie', age: 30 }]
    // }