• 根据新键值对重命名对象的key,并生成一个新的对象

    跟pickRename类似,但不会pick,未改动的会原样返回

    类型参数

    • T extends object
    • K extends string | number | symbol
    • O extends {
          [k: string]: K;
      }
    • R extends Omit<T, O[keyof O]>

    参数

    • originObj: T
    • keyMap: O

    返回 {
        [k in keyof O]: T[O[k]]
    } & R

    renameObjKey({ a: 12, b: undefined, c: 3 }, { test: 'a', bb: 'b' }); // { test: 12,bb: undefined, c: 3, }
    renameObjKey({ a: 12, b: undefined, c: 3 }, { test: 'aa' as any, bb: 'b' }); // { a: 12, bb: undefined, c: 3, }
    renameObjKey({ a: 1, b: 2 }, { a: 'a', aa: 'a', aaa: 'a' }); // { a: 1, aa: 1, aaa: 1, b: 2, }