# 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, K extends keyof T, V>( object: T, getNewValue: (value: T[K], key: K, object: T) => V ): Record; ``` ### Parameters - `obj` (`T extends Record`): The object to iterate over. - `getNewValue`: (`(value: T[K], key: K, object: T) => V`): The function invoked per own enumerable property. ### Returns (`Record`): 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 } ```