Sobes.tech
Junior — Senior

Building a category hierarchy from a flat array

livecode

Task condition

const sourceCategories = [ { "title": "Beverage Preparation", "parent": "Kitchen Equipment" }, { "title": "Home Appliances", "parent": "Household Appliances" }, { "title": "Cooktop", "parent": "Built-in Appliances" }, { "title": "Household Appliances", "parent": null }, { "title": "Built-in Appliances", "parent": "Household Appliances" }, { "title": "Ovens", "parent": "Built-in Appliances" }, { "title": "Food Products", "parent": null }, { "title": "Electric Kettles and Thermopot", "parent": "Kitchen Equipment" }, { "title": "Hoods", "parent": "Built-in Appliances" }, { "title": "Kitchen Equipment", "parent": "Household Appliances" } ];

function createCategoryTree(flatList) { // Implementation here }

console.log(createCategoryTree(sourceCategories));

/* [ { title: "Household Appliances", children: [ { title: "Built-in Appliances", children: [ { title: "Ovens" }, { title: "Built-in Hoods" }, { title: "Hoods" } ] }, { title: "Kitchen Equipment", children: [ { title: "Electric Kettles and Thermopot" }, { title: "Beverage Preparation" } ] }, { title: "Home Appliances" } ] }, { title: "Food Products", } ] */