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 }