AlexandrDr,
<pre>
<script>
let arr = [
{category: 'Жалоба', status: 'Ожидание', fio: 'Иванов Иван Иванович', total: 3},
{category: 'Жалоба', status: 'Закрыт', fio: 'Иванов Иван Иванович', total: 23},
{category: 'Благодарность', status: 'Ожидание', fio: 'Иванов Иван Иванович', total: 5},
{category: 'Благодарность', status: 'Принята', fio: 'Иванов Иван Иванович', total: 7},
{category: 'Жалоба', status: 'Ожидание', fio: 'Сидоров Сидр Сидорович', total: 2},
{category: 'Жалоба', status: 'Принята', fio: 'Сидоров Сидр Сидорович', total: 9}
]
function createObj(arr)
{
return Object.values(arr.reduce((obj, {category, status, fio, total}) => {
if(!obj[fio]) obj[fio] = {fio};
if(!obj[fio][category]) obj[fio][category] = {}
if(!obj[fio][category][status]) obj[fio][category][status] = 0;
obj[fio][category][status] += total;
return obj;
}, {}))
}
let obj = createObj(arr)
document.write(JSON.stringify(obj, "", 1))
</script>
</pre>