Files
30-seconds-of-code/snippets/zipObject.md
2017-12-20 15:03:40 -08:00

577 B

zipObject

Given an Array of valid property identifiers and an Array of values, zipObject returns an object associating the properties to the values

Since an object can have undefined values but not undefined property pointers, the Array of properties is used to decide the structure of the resulting object through a reduce

const zipObject = ( props, values ) => props.reduce( ( obj, prop, index ) => ( obj[prop] = values[index], obj ), {} )
/*
zipObject(['a','b','c'], [1,2]) -> {a: 1, b: 2, c: undefined}
zipObject(['a','b'], [1,2,3]) -> {a: 1, b: 2}
*/