781 B
781 B
title, type, language, tags, author, cover, dateModified
| title | type | language | tags | author | cover | dateModified | |
|---|---|---|---|---|---|---|---|
| Unwind object | snippet | javascript |
|
chalarangelo | orange-coffee | 2022-04-18T05:00:00-04:00 |
Produces an array of objects from an object and one of its array-valued properties.
- Use object destructuring to exclude the key-value pair for the specified
keyfrom the object. - Use
Array.prototype.map()for the values of the givenkeyto create an array of objects. - Each object contains the original object's values, except for
keywhich is mapped to its individual values.
const unwind = (key, obj) => {
const { [key]: _, ...rest } = obj;
return obj[key].map(val => ({ ...rest, [key]: val }));
};
unwind('b', { a: true, b: [1, 2] }); // [{ a: true, b: 1 }, { a: true, b: 2 }]