Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
  <script src="https://cdn.jsdelivr.net/lodash/4/lodash.min.js"></script>
</head>
<body>
<input type='button' onclick='createArray()' value='Create' />
</body>
</html>
 
function createArray(){
_(flatArray).forEach(f=>{
  f.nodes=_(flatArray).filter(g=>g.parentId==f.id).value();
});
var resultArray=_(flatArray).filter(f=>f.parentId==null).value();
console.log(resultArray);
}
var flatArray=[{
  id:1,parentId:null,text:"parent1",nodes:[]
},{
  id:2,parentId:null,text:"parent2",nodes:[]
},{
  id:3,parentId:1,text:"childId3Parent1",nodes:[]
},{
  id:4,parentId:1,text:"childId4Parent1",nodes:[]
},{
  id:5,parentId:2,text:"childId5Parent2",nodes:[]
},{
  id:6,parentId:2,text:"childId6Parent2",nodes:[]
},{
  id:7,parentId:3,text:"childId7Parent3",nodes:[]
},{
  id:8,parentId:5,text:"childId8Parent5",nodes:[]
}];
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
2nyacomputerpro
0viewers