Skip to content

joinToObject

Input an array of objects fields, and return a plain object formed by combining each item from the array.

The optional parameters getKey and getValue are used to convert child objects into keys and values. When they are not provided, the first field of the array element is extracted by default.

getKey and getValue can be field paths of getByPath or callback functions.

Added in v0.0.1

Usage

ts
import { joinToObject } from 'parsnip-kit'

const users = [{ Alex: 'vip' }, { Bob: 'viewer' }, { Carter: 'user' }, { Daniel: 'user' }]

joinToObject(users)
// { Alex: 'vip', Bob: 'viewer', Carter: 'user', Daniel: 'user' }

const data = [
  { name: 'Alex', type: 'vip' },
  { name: 'Bob', type: 'viewer' },
  { name: 'Carter', type: 'user' },
  { name: 'Daniel', type: 'user' }
]
joinToObject(data, 'name', 'type')
// { Alex: 'vip', Bob: 'viewer', Carter: 'user', Daniel: 'user' }

joinToObject(data, pair => pair.name, pair => pair.type)
// { Alex: 'vip', Bob: 'viewer', Carter: 'user', Daniel: 'user' }

API

Type Parameter

ArgTypeDescription
Textends objectType of elements of array

Arguments

ArgTypeOptionalDefaultDescription
pairsT[]falseundefinedThe array of key-value object
getKeystring | ((item: T, index: number, arr: T[]) => any)trueundefinedExtract keys form sub-objects
getValuestring | ((item: T, index: number, arr: T[]) => any)trueundefinedExtract values form sub-objects

Returns

Type
ObjectLike

Reference

ObjectLike