Field Notes
Engineering

Lodash Extensions

Mapping an array to an object with lodash.

1 min read

mapping array to object ​

from

var params = [
    { name: 'foo', input: 'bar' },
    { name: 'baz', input: 'zle' }
];

to

var output = {
    foo: 'bar',
    baz: 'zle'
};
_.chain(params)
    .keyBy('name')
    .mapValues('input')
    .value();
or

_.mapValues(_.keyBy(params, 'name'), 'input')
or with _.reduce

_.reduce(
    params,
    (acc, { name, input }) => ({ ...acc, [name]: input }),
    {}
)