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.
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.
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 }