how to transform a Map or array into a object in javascript

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.

Using Object.fromEntries

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" }
}

Using a Array.reduce methods

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' }
}