VDL Plugin SDK

mapKeys

Import from @varavel/vdl-plugin-sdk/utils/maps.

function mapKeys<K, V>(map, getNewKey): Map<K, V>;

Creates a new Map with the same values but with keys transformed by the provided function.

This function takes a Map and a function that generates a new key from each value-key pair. It returns a new Map where the keys are the result of applying the function to each entry, while the values remain the same.

Type Parameters

Type ParameterDescription
KThe type of keys in the Map.
VThe type of values in the Map.

Parameters

ParameterTypeDescription
mapMap<K, V>The Map to transform.
getNewKey(value, key, object) => KA function that generates a new key from a value-key pair.

Returns

Map<K, V>

A new Map with transformed keys and the same values.

Example

const map = new Map([
  ['a', 1],
  ['b', 2],
  ['c', 3]
]);
const result = mapKeys(map, (value, key) => key.toUpperCase());
// result will be:
// Map(3) {
//   'A' => 1,
//   'B' => 2,
//   'C' => 3
// }