Skip to content

Instantly share code, notes, and snippets.

@fxg42
Last active December 21, 2015 11:49
Show Gist options
  • Save fxg42/6301485 to your computer and use it in GitHub Desktop.
Save fxg42/6301485 to your computer and use it in GitHub Desktop.
folders = [
{id:1, parentId:2, childrenId:[]}
{id:2, parentId:null, childrenId:[]}
{id:3, parentId:2, childrenId:[]}
{id:4, parentId:5, childrenId:[]}
{id:5, parentId:3, childrenId:[]}
{id:6, parentId:5, childrenId:[]}
{id:7, parentId:999, childrenId:[]}
{id:8, parentId:7, childrenId:[]}
]
findParent = (childId, parentId) ->
parent = (f for f in folders when f.id is parentId)?[0]
return if not parent or parent.childrenId.indexOf(childId) > -1
parent.childrenId.push childId
findParent parent.id, parent.parentId
for folder in folders
findParent folder.id, folder.parentId
console.log folders
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment