• 代替Object.keys(obj).reduce

    类型参数

    • T extends object
    • R

    参数

    • obj: T

      要遍历的对象

    • callbackFn: ((previousValue: R, value: T[keyof T], key: keyof T, obj: T) => R)

      回调

        • (previousValue, value, key, obj): R
        • 参数

          • previousValue: R
          • value: T[keyof T]
          • key: keyof T
          • obj: T

          返回 R

    • initialValue: R

      初始值 数组中可以省略,默认使用数组中的第一项作为初始值,但object不存在第一项,所以不能省略

    返回 R

    const obj = { a: 1, b: 2, c: '3' };
    reduceObj(obj, (r, v, k) => ((r[v] = k), r), {} as Record<string, any>); // { 1: 'a', 2: 'b', 3: 'c' }