let _ = require('lodash');
let $$ = require('eyes');
const data = [
{
"id": 6,
"post": 23,
"parent": 5,
"author": 1,
},
{
"id": 5,
"post": 23,
"parent": 0,
"author": 1,
},
{
"id": 4,
"post": 23,
"parent": 2,
"author": 1,
},
{
"id": 2,
"post": 23,
"parent": 0,
"author": 1,
}
]
var result = _(data)
.groupBy(x => x.parent)
.map((value, key) => ({parent: key, child: value}))
.value();
console.log($$.inspect(result) );
result
[
{
parent: '0',
child: [
{
id: 5,
post: 23,
parent: 0,
author: 1
},
{
id: 2,
post: 23,
parent: 0,
author: 1
}
]
},
{
parent: '2',
child: [
{
id: 4,
post: 23,
parent: 2,
author: 1
}
]
},
{
parent: '5',
child: [
{
id: 6,
post: 23,
parent: 5,
author: 1
}
]
}
]