Skip to content

objectify

Convert a list to a dictionary object

91 bytes

Usage

Given an array of items, create a dictionary with keys and values mapped by given functions. First argument is the array to map. The second argument is the function to determine the key for each item. The third argument is optional and determines the value for each item.

import * as
import _
_
from 'radashi'
const
const fish: readonly [{
readonly name: "Marlin";
readonly weight: 105;
}, {
readonly name: "Bass";
readonly weight: 8;
}, {
readonly name: "Trout";
readonly weight: 13;
}]
fish
= [
{
name: "Marlin"
name
: 'Marlin',
weight: 105
weight
: 105,
},
{
name: "Bass"
name
: 'Bass',
weight: 8
weight
: 8,
},
{
name: "Trout"
name
: 'Trout',
weight: 13
weight
: 13,
},
] as
type const = readonly [{
readonly name: "Marlin";
readonly weight: 105;
}, {
readonly name: "Bass";
readonly weight: 8;
}, {
readonly name: "Trout";
readonly weight: 13;
}]
const
const
const objectifiedByName: Record<"Marlin" | "Bass" | "Trout", {
readonly name: "Marlin";
readonly weight: 105;
} | {
readonly name: "Bass";
readonly weight: 8;
} | {
readonly name: "Trout";
readonly weight: 13;
}>
objectifiedByName
=
import _
_
.
objectify<{
readonly name: "Marlin";
readonly weight: 105;
} | {
readonly name: "Bass";
readonly weight: 8;
} | {
readonly name: "Trout";
readonly weight: 13;
}, "Marlin" | "Bass" | "Trout", {
readonly name: "Marlin";
readonly weight: 105;
} | {
readonly name: "Bass";
readonly weight: 8;
} | {
readonly name: "Trout";
readonly weight: 13;
}>(array: readonly ({
...;
} | ... 1 more ... | {
...;
})[], getKey: (item: {
...;
} | ... 1 more ... | {
...;
}) => "Marlin" | ... 1 more ... | "Trout", getValue?: ((item: {
...;
} | ... 1 more ... | {
...;
}) => {
...;
} | ... 1 more ... | {
...;
}) | undefined): Record<...>
export objectify

Convert an array to a dictionary by mapping each item into a dictionary key & value.

@seehttps://radashi.js.org/reference/array/objectify

@example

objectify([1, 2, 3], (n) => '#' + n)
// { '#1': 1, '#2': 2, '#3': 3 }
objectify(
[{id: 1, name: 'John'}, {id: 2, name: 'Jane'}],
(obj) => obj.id,
(obj) => obj.name
)
// { 1: 'John', 2: 'Jane' }

@version12.1.0

objectify
(
const fish: readonly [{
readonly name: "Marlin";
readonly weight: 105;
}, {
readonly name: "Bass";
readonly weight: 8;
}, {
readonly name: "Trout";
readonly weight: 13;
}]
fish
,
f: {
readonly name: "Marlin";
readonly weight: 105;
} | {
readonly name: "Bass";
readonly weight: 8;
} | {
readonly name: "Trout";
readonly weight: 13;
}
f
=>
f: {
readonly name: "Marlin";
readonly weight: 105;
} | {
readonly name: "Bass";
readonly weight: 8;
} | {
readonly name: "Trout";
readonly weight: 13;
}
f
.
name: "Marlin" | "Bass" | "Trout"
name
) // => { Marlin: [marlin object], Bass: [bass object], ... }
const
const objectifiedByNameAndWeight: Record<"Marlin" | "Bass" | "Trout", 105 | 8 | 13>
objectifiedByNameAndWeight
=
import _
_
.
objectify<{
readonly name: "Marlin";
readonly weight: 105;
} | {
readonly name: "Bass";
readonly weight: 8;
} | {
readonly name: "Trout";
readonly weight: 13;
}, "Marlin" | "Bass" | "Trout", 105 | 8 | 13>(array: readonly ({
...;
} | ... 1 more ... | {
...;
})[], getKey: (item: {
...;
} | ... 1 more ... | {
...;
}) => "Marlin" | ... 1 more ... | "Trout", getValue?: ((item: {
...;
} | ... 1 more ... | {
...;
}) => 105 | ... 1 more ... | 13) | undefined): Record<...>
export objectify

Convert an array to a dictionary by mapping each item into a dictionary key & value.

@seehttps://radashi.js.org/reference/array/objectify

@example

objectify([1, 2, 3], (n) => '#' + n)
// { '#1': 1, '#2': 2, '#3': 3 }
objectify(
[{id: 1, name: 'John'}, {id: 2, name: 'Jane'}],
(obj) => obj.id,
(obj) => obj.name
)
// { 1: 'John', 2: 'Jane' }

@version12.1.0

objectify
(
const fish: readonly [{
readonly name: "Marlin";
readonly weight: 105;
}, {
readonly name: "Bass";
readonly weight: 8;
}, {
readonly name: "Trout";
readonly weight: 13;
}]
fish
,
f: {
readonly name: "Marlin";
readonly weight: 105;
} | {
readonly name: "Bass";
readonly weight: 8;
} | {
readonly name: "Trout";
readonly weight: 13;
}
f
=>
f: {
readonly name: "Marlin";
readonly weight: 105;
} | {
readonly name: "Bass";
readonly weight: 8;
} | {
readonly name: "Trout";
readonly weight: 13;
}
f
.
name: "Marlin" | "Bass" | "Trout"
name
,
f: {
readonly name: "Marlin";
readonly weight: 105;
} | {
readonly name: "Bass";
readonly weight: 8;
} | {
readonly name: "Trout";
readonly weight: 13;
}
f
=>
f: {
readonly name: "Marlin";
readonly weight: 105;
} | {
readonly name: "Bass";
readonly weight: 8;
} | {
readonly name: "Trout";
readonly weight: 13;
}
f
.
weight: 105 | 8 | 13
weight
,
) // => { Marlin: 105, Bass: 8, Trout: 13 }