Skip to content

mapValues

Creates a new object with the same keys as the given object, but with values generated by running each own enumerable property of the object through the iteratee function.

Signature

typescript
function mapValues<T extends Record<PropertyKey, unknown>, K extends keyof T, V>(
  object: T,
  getNewValue: (value: T[K], key: K, object: T) => V
): Record<K, V>;

Parameters

  • obj (T extends Record<PropertyKey, unknown>): The object to iterate over.
  • getNewValue: ((value: T[K], key: K, object: T) => V): The function invoked per own enumerable property.

Returns

(Record<K, V>): The new mapped object.

Examples

typescript
const obj = { a: 1, b: 2 };
const result = mapValues(obj, value => value * 2);
console.log(result); // { a: 2, b: 4 }

Released under the MIT License.