Javascript type manipulation is awesome you can transform a map into an object using Object methods or array methods To transform map into object we can use ObjectFromEntries or reduce array methods.
const companyDepartments = new Map<string, { [k: string]: any }>();
companyDepartments
.set("softwareEngineering", { name: "Sofware Engineering" })
.set("Finance", { name: "Finance & Operations" });
const departments = Object.fromEntries(companyDepartments.entries());
console.log(departments);
output
{
softwareEngineering: { name: "Sofware Engineering" },
Finance: { name: "Finance & Operations" }
}
Usually we use reduce for sum but it can does much more stuff
const usingReduce = [...companyDepartments.entries()].reduce(
(prev, [key, value]) => {
prev[key] = value;
return prev;
},
{} as any
);
console.log(usingReduce);
output
{
softwareEngineering: { name: 'Sofware Engineering' },
Finance: { name: 'Finance & Operations' }
}