数组排列转换的算法问题

我现在有这样一个数组,前面是父ID,后面是子ID

//          父ID    ID
arr = [
            [null,    1],
            [1,    2],
            [1,    3],
            [2,    4]
]

我想把这个数组,按照父子关系排列出来,组织成下面这样的数组,


arr2  = [
            [1,2,4],
            [1,3]
]

请问有没有实现方式?或者应该用到什么算法,我去研究一下,现在没有方向