Есть массив такого плана:
[
{ id: 1, value: "test" },
{ id: 1, value: 3 },
{ id: 1, value: 2 },
{ id: 2, value: true },
{ id: 2, value: "test" },
]
Нужно из него получить такой:
[
{ id: 1, int: 2, string: 1 },
{ id: 2, boolean: 1, string: 1 }
]
То есть, сгруппировать по Id, добавить тип свойств и подсчитать их количество.
Пока что придумал только часть функции:
function transform(array) {
let transformed = array.map(item => (
{id: item.id, [typeof item.value]: 1}
))
let uniqueIdArray = [...new Set(array.map(item => item.id))]
let final = uniqueIdArray.map(item => {
// А что тут лучше дописать, или может вообще не правильно мыслю?
})
}