851 B
851 B
title, type, language, tags, author, cover, dateModified
| title | type | language | tags | author | cover | dateModified | ||
|---|---|---|---|---|---|---|---|---|
| Map an array to an object | snippet | javascript |
|
chalarangelo | metro-tunnel | 2023-02-04T05:00:00-04:00 |
Maps an object array to an object, using the provided mapping functions.
- Use
Array.prototype.reduce()to map the array to an object. - Use
mapKeyto map the keys of the object andmapValueto map the values.
const objectify = (arr, mapKey, mapValue = i => i) =>
arr.reduce((acc, item) => {
acc[mapKey(item)] = mapValue(item);
return acc;
}, {});
const people = [ { name: 'John', age: 42 }, { name: 'Adam', age: 39 } ];
objectify(people, p => p.name.toLowerCase());
// { john: { name: 'John', age: 42 }, adam: { name: 'Adam', age: 39 } }
objectify(
people,
p => p.name.toLowerCase(),
p => p.age
);
// { john: 42, adam: 39 }