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", } ] */