daify
dictify and arrayify
API
opts
Object
opts.by
string
: specify the path to get key of a item, example:`id`
,`n.id`
function
: specify the function to get key of a item, example:item => item.id
opts.include[path]
opts
for inner objectpath
can have dot likeopts.by
, which specifies the path to a inner array or dict.
string
shortcut for opts.by
dictify(array, opts)
Make array
into dict
const opts = by: "id" include: lists: "id" "namespace.inners": "id" ; const array = id: 1 lists: id: 1 id: 2 lists: id: 1 id: 3 lists: id: 1 namespace: inners: id: 1 id: 2 id: 3 ; ;/*{ "1": { "id": 1, "lists": { "1": { "id": 1 } } }, "2": { "id": 2, "lists": { "1": { "id": 1 } } }, "3": { "id": 3, "lists": { "1": { "id": 1 } }, "namespace": { "inners": { "1": { "id": 1 }, "2": { "id": 2 }, "3": { "id": 3 } } } }}*/
arrayify(dict, opts)
Make dict
into array
const opts = by: "id" // by is useless here include: lists: "id" "namespace.inners": "id" ;const dict = "1": id: 1 lists: "1": id: 1 "2": id: 2 lists: "1": id: 1 "3": id: 3 lists: "1": id: 1 namespace: inners: "1": id: 1 "2": id: 2 "3": id: 3 ; ;/*[ { "id": 1, "lists": [ { "id": 1 } ] }, { "id": 2, "lists": [ { "id": 1 } ] }, { "id": 3, "lists": [ { "id": 1 } ], "namespace": { "inners": [ { "id": 1 }, { "id": 2 }, { "id": 3 } ] } }]*/