Array.prototype.reduce()
to build an object from the two arrays.props
is longer than values
, remaining keys will be undefined
.values
is longer than props
, remaining values will be ignored.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}
Subscribe to get resources directly to your inbox. You won't receive any spam! ✌️