AlexandrDr,
<pre id="out"></pre>
<script>
let a = [{
agentName: 'Иванов Иван Иванович',
controlName: 'Петров Петр Петрович',
flScore: 100
},
{
agentName: 'Иванов Иван Иванович',
controlName: 'Сидоров Сидр Сидорович',
flScore: 95
},
{
agentName: 'Викторов Виктор Викторович',
controlName: 'Тимуров Тимур Тимурович',
flScore: 195
},
{
agentName: 'Викторов Виктор Викторович',
controlName: 'Тимуров Тимур Тимурович',
flScore: 5
}
]
let obj = {},
count = {};
a = a.reduce((arr, {
agentName,
controlName,
flScore
}) => {
let item = obj[agentName];
if (!item) {
item = {
agentName
};
arr.push(item);
obj[agentName] = item;
count[agentName] = 0;
}
let num = ++count[agentName];
item[`data${num}`] = {
controlName,
flScore
};
return arr;
}, []);
out.append(JSON.stringify(a, '', 1))
</script>