Skip to content

mapKeys() function

返回一个与 obj 具有相同值的新对象,其中每个键都是对原值和键应用 f 的结果。多个键映射到同一个新键时,最后一个键的值保留。

Signature:

typescript
function mapKeys<T extends object, K2 extends PropertyKey>(
  f: (value: T[keyof T], key: keyof T & string) => K2,
  obj: T,
): Record<K2, T[keyof T]>;

Example

ts
mapKeys((v, k) => k.toUpperCase(), { a: 1, b: 2 }); // { A: 1, B: 2 }
mapKeys((v) => String(v), { a: 1 }); // { "1": 1 }

await mapKeys(async (v, k) => k.toUpperCase(), { a: 1 }); // { A: 1 }

pipe(
  { a: 1, b: 2 },
  mapKeys((v, k) => k.toUpperCase()),
); // { A: 1, B: 2 }

Open Source Code

Released under the Apache-2.0 License.