Skip to content

Instantly share code, notes, and snippets.

@HichemBenChaaben
Created August 3, 2018 00:58
Show Gist options
  • Save HichemBenChaaben/3cc12df0f9695bea6e502ca754d050cf to your computer and use it in GitHub Desktop.
Save HichemBenChaaben/3cc12df0f9695bea6e502ca754d050cf to your computer and use it in GitHub Desktop.
const categories = [
{
name: 'clothing',
category: null
},
{
name: 'adult',
category: 'clothing'
},
{
name: 'men',
category: 'adult'
},
{
name: 'jeans',
category: 'men'
},
{
name: 'jacket',
category: 'jeans'
},
{
name: 'dark blue',
category: 'jacket'
}
];
const createTree = (tree, parent = null) => {
let subtree = {};
tree.filter(x => x.category === parent)
.forEach(x => subtree[x.name] = createTree(tree, x.name));
return subtree;
};
createTree(categories);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment