Tengo una matriz de objetos y, al usar foreach o map, quiero crear una nueva matriz a partir de sus claves:
[{ "name": "Dentist Specialist", "category": "Roles", "path": "cde" }, { "name": "Root Canal Therapy", "category": "Procedures", "path": "abc" }, { "name": "Live Course", "category": "Course Type", "path": "mfg" }]
De la matriz anterior, necesito una nueva ARRAY que se verá así:
[{ "Roles": "Dentist Specialist" }, { "Procedures": "Root Canal Therapy" }, { "Course Type": "Live Course" }]
Simplemente reemplace la segunda llave con la primera llave y retire el resto.
Puede usar el mapa aquí para lograr el resultado deseado.
arr.map(({ category, name }) => ({ [category]: name }));
o
arr.map((o) => ({ [o.category]: o.name }));
const arr = [ { name: "Dentist Specialist", category: "Roles", path: "cde", }, { name: "Root Canal Therapy", category: "Procedures", path: "abc", }, { name: "Live Course", category: "Course Type", path: "mfg", }, ]; const result = arr.map((o) => ({ [o.category]: o.name })); console.log(result);