Skip to content

Documentation / @andrew_l/toolkit / keyBy

Function: keyBy()

keyBy(array, keyBy, objectMode)

keyBy<T, K>(array, keyBy, objectMode?): Map<IsPropertyKey<T, K, K>, T>

Maps each element of an array based on a provided key.

Type Parameters

T

K extends string | number | symbol

Parameters

array: readonly T[]

keyBy: K

objectMode?: false

Returns

Map<IsPropertyKey<T, K, K>, T>

Example

ts
const data = [
    { id: 1, name: 'group 1' },
    { id: 2, name: 'group 2' },
    { id: 1, name: 'group 2' }
];

const result = keyBy(data, 'id');
console.log(Object.entries(result));
// [
//    [1, [{ id: 1, name: 'group 1' }, { id: 1, name: 'group 2' }],
//    [2, { id: 2, name: 'group 2' }],
// ]

keyBy(array, keyBy, objectMode)

keyBy<T, K>(array, keyBy, objectMode?): Map<K, T>

Type Parameters

T

K

Parameters

array: readonly T[]

keyBy

objectMode?: false

Returns

Map<K, T>

keyBy(array, keyBy, objectMode)

keyBy<T, K>(array, keyBy, objectMode): Record<K, T>

Type Parameters

T

K extends string | number | symbol

Parameters

array: readonly T[]

keyBy: K

objectMode: true

Returns

Record<K, T>

keyBy(array, keyBy, objectMode)

keyBy<T, K>(array, keyBy, objectMode): Record<K, T>

Type Parameters

T

K extends PropertyKey

Parameters

array: readonly T[]

keyBy

objectMode: true

Returns

Record<K, T>