let arr = [ { parentId: 123, nodeId: 23 }, { parentId: 0, nodeId: 123 }, { parentId: 23, nodeId: 999 }, { parentId: 23, nodeId: 789 } ] => [ { parentId: 0, nodeId: 123, children: [ { parentId: 123, nodeId: 23, children: [ { parentId: 23, nodeId: 999, children: [] }, { parentId: 23, nodeId: 789, children: [] } ] } ] } ]
[...new Set(arr.flat(Infinity))].sort((a,b)=>b-a)
const Foo = function(){}; const f = new Foo();