Вывод данных словаря в компонент (React)

Есть массив:

let data = [
    { "kat": "1", "fio": "Цех наладки", "tel": "2-00-01" },
    { "kat": "1", "fio": "Цех наладки", "tel": "2-00-02" },
    { "kat": "1", "fio": "Мастер участка", "tel": "3-00-01" },
    { "kat": "1", "fio": "Мастер участка", "tel": "3-00-02" },
];

Вот так я его группирую:

const res = JSON.stringify(
    data.reduce((r, a) => {
        r[a.fio] = r[a.fio] || [];
        r[a.fio].push({tel: a.tel, kat: a.kat});
        return r;
    }, {}), true, 4
)

Итог:

{
    "Цех наладки": [
        {
            "tel": "2-00-01",
            "kat": "1"
        },
        {
            "tel": "2-00-02",
            "kat": "1"
        }
    ],
    "Мастер участка": [
        {
            "tel": "3-00-01",
            "kat": "1"
        },
        {
            "tel": "3-00-02",
            "kat": "1"
        }
    ]
}

Вопрос: Как правильно перебрать объект, чтобы вывести данные в компонент по образцу ниже? Или (как я мне кажется) я изначально не правильно "собираю" const res?

Мастер участка
--------------
тел: 3-00-01
тел: 3-00-02


Цех наладки
--------------
2-00-01
2-00-01

Ответы (1 шт):

Автор решения: Dmitry Kozlov

Сначала надо получить массив ключей объекта Object.keys()

Потом перебрать этот массив, получая нужное значение по ключу

res[key]

let data = [
    { "kat": "1", "fio": "Цех наладки", "tel": "2-00-01" },
    { "kat": "1", "fio": "Цех наладки", "tel": "2-00-02" },
    { "kat": "1", "fio": "Мастер участка", "tel": "3-00-01" },
    { "kat": "1", "fio": "Мастер участка", "tel": "3-00-02" },
];

const res = data.reduce((r, a) => {
    r[a.fio] = r[a.fio] || [];
    r[a.fio].push({tel: a.tel, kat: a.kat});
    return r;
}, {});

Object.keys(res).forEach((key) => {
  console.log(key);
  console.log(res[key]);
});

→ Ссылка