Array.prototype.reduce()
to create an object from arr
.key
and the associated data
and add the key-value pair to the object.const indexOn = (arr, key) => arr.reduce((obj, v) => { const { [key]: id, ...data } = v; obj[id] = data; return obj; }, {});
indexOn([ { id: 10, name: 'apple' }, { id: 20, name: 'orange' } ], 'id'); // { '10': { name: 'apple' }, '20': { name: 'orange' } }
Subscribe to get resources directly to your inbox. You won't receive any spam! ✌️