Documentation / @andrew_l/toolkit / keyBy
Function: keyBy() ​
Call Signature ​
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 ​
T
K ​
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' }],
// ]
Call Signature ​
keyBy<
T
,K
>(array
,keyBy
,objectMode?
):Map
<K
,T
>
Maps each element of an array based on a provided key.
Type Parameters ​
T ​
T
K ​
K
Parameters ​
array ​
readonly T
[]
keyBy ​
(item
) => K
objectMode? ​
false
Returns ​
Map
<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' }],
// ]
Call Signature ​
keyBy<
T
,K
>(array
,keyBy
,objectMode
):Record
<K
,T
>
Maps each element of an array based on a provided key.
Type Parameters ​
T ​
T
K ​
K
extends string
| number
| symbol
Parameters ​
array ​
readonly T
[]
keyBy ​
K
objectMode ​
true
Returns ​
Record
<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' }],
// ]
Call Signature ​
keyBy<
T
,K
>(array
,keyBy
,objectMode
):Record
<K
,T
>
Maps each element of an array based on a provided key.
Type Parameters ​
T ​
T
K ​
K
extends PropertyKey
Parameters ​
array ​
readonly T
[]
keyBy ​
(item
) => K
objectMode ​
true
Returns ​
Record
<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' }],
// ]