[{type: 'type-1', value: 5},
{type: 'type-1', value: 7},
{type: 'type-2', value: 3},
{type: 'type-3', value: 5},
{type: 'type-4', value: 5},
{type: 'type-1', value: 88}]
[
{ type: 'type-1',
data: [
{type: 'type-1', value: 5},
{type: 'type-1', value: 7},
{type: 'type-1', value: 88},
]
},
{
type: 'type-2',
data: [
{type: 'type-2', value: 3},
]
},
{
type: 'type-3',
data: [
{type: 'type-3', value: 5},
]
}
// и т.д.
]
const array = [
{ type: 'type-1', value: 5 },
{ type: 'type-1', value: 7 },
{ type: 'type-2', value: 3 },
{ type: 'type-3', value: 5 },
{ type: 'type-4', value: 5 },
{ type: 'type-1', value: 88 }
];
const result = [];
for (let o of array) {
let obj = result.find(_o => _o.type == o.type);
if (!obj) obj = { type: o.type, data: [] }, result.push(obj);
obj.data.push({ type: o.type, value: o.value });
}
console.log(result);