Показать сообщение отдельно
  #2 (permalink)  
Старый 22.07.2022, 13:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,134

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>
Ответить с цитированием