Given an array of two-entry tuples, for example:
const arr = [
['key1', 'value1'],
['key2', 'value2'],
['key3', 'value3'],
['key2', 'value4'],
['key3', 'value5'],
['key3', 'value6']
];
I'm looking for neat way to get:
const obj = {
key1: ['value1'],
key2: ['value2', 'value4'],
key3: ['value3', 'value5', 'value6']
};
So far I've got:
const obj = Object.assign({}, ...arr.map(x => ({[x[0]]: x[1]})));
Which gives me:
const obj = {
key1: 'value1',
key2: 'value4',
key3: 'value6'
};
I feel that I can somehow use reduce in order to obtain the desired output.
I am using NodeJS (not a browser).