I have an array
let arr = [
{ type: 1, title: 1 },
{ type: 1, title: 1 },
{ type: 2, title: 1 },
{ type: 2, title: 1 },
{ type: 2, title: 1 },
{ type: 2, title: 1 },
{ type: 2, title: 1 },
{ type: 3, title: 1 },
{ type: 3, title: 1 },
{ type: 3, title: 1 },
{ type: 3, title: 1 },
{ type: 3, title: 1 },
{ type: 3, title: 1 },
{ type: 3, title: 1 },
{ type: 3, title: 1 },
{ type: 3, title: 1 },
{ type: 3, title: 1 },
{ type: 1, title: 1 },
{ type: 1, title: 1 },
{ type: 3, title: 1 },
{ type: 3, title: 1 },
{ type: 3, title: 1 },
{ type: 1, title: 1 },
{ type: 1, title: 1 },
{ type: 3, title: 1 },
{ type: 3, title: 1 },
{ type: 1, title: 1 },
{ type: 1, title: 1 }]
I want data = 1(type==1):2(type==2):1type==1(3) (5:10:5)
There may be a lot of data, but no matter how much data there is, I only hope to finally get 1:2:1 data I want last result, for example
last arr = [
{
type: 1,
child: [{ type: 1, title: 1 },{ type: 1, title: 1 },{ type: 1, title: 1 },{ type: 1, title: 1 },{ type: 1, title: 1 }]
},
{
type: 2,
child: [{ type: 2, title: 1 },{ type: 2, title: 1 },{ type: 2, title: 1 },{ type: 2, title: 1 },{ type: 2, title: 1 },{ type: 2, title: 1 },{ type: 2, title: 1 },{ type: 2, title: 1 },{ type: 2, title: 1 },{ type: 2, title: 1 }]
},
{
type: 3,
child: [{ type: 3, title: 1 },{ type: 3, title: 1 },{ type: 3, title: 1 },{ type: 3, title: 1 },{ type: 3, title: 1 }]
}
]