770 B
770 B
title, type, language, tags, author, cover, dateModified
| title | type | language | tags | author | cover | dateModified | ||
|---|---|---|---|---|---|---|---|---|
| Array to object based on key | snippet | javascript |
|
chalarangelo | lavender-shelf | 2021-06-27T05:00:00-04:00 |
Creates an object from an array, using the specified key and excluding it from each value.
- Use
Array.prototype.reduce()to create an object fromarr. - Use object destructuring to get the value of the given
keyand the associateddataand 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' } }