@doooktooor

Как правильно вывести массив объектов, в которых может содержаться массив?

У меня имеются такие массивы:
const qualities = {
    tedious: { _id: "67rdca3eeb7f6fgeed471198", name: "Нудила", color: "primary" },
    strange: { _id: "67rdca3eeb7f6fgeed471100", name: "Странный", color: "secondary" },
    buller: { _id: "67rdca3eeb7f6fgeed4711012", name: "Троль", color: "success" },
    alcoholic: { _id: "67rdca3eeb7f6fgeed471101", name: "Алкоголик", color: "danger" },
    handsome: { _id: "67rdca3eeb7f6fgeed471102", name: "Красавчик", color: "info" },
    uncertain: { _id: "67rdca3eeb7f6fgeed471103", name: "Неуверенный", color: "dark" },

}

const users = [
    {
        _id: "67rdca3eeb7f6fgeed471815",
        name: "Джон Дориан",
        profession: professions.doctor,
        qualities: [qualities.tedious, qualities.uncertain, qualities.strange],
        completedMeetings: 36,
        rate: 2.5
    },
    {
        _id: "67rdca3eeb7f6fgeed471816",
        name: "Кокс",
        profession: professions.doctor,
        qualities: [qualities.buller, qualities.handsome, qualities.alcoholic],
        completedMeetings: 15,
        rate: 2.5
    }


Я пытаюсь вывести их в таблицу следующим образом
let res = users.map((item) => {
       return <tr key={item._id}> <td>{item.name}</td><td>{item.profession}</td><td>{item.qualities.name}</td><td>{item.completedMeetings}</td><td>{item.rate}</td></tr>
     })
     console.log('res', res)
    return <>
        <table className="table-danger">
            <thead>
                <tr>
                <th scope="col">First</th>
                <th scope="col">Last</th>
                <th scope="col">Handle</th>
                <th scope="col">Last</th>
                <th scope="col">Handle</th>
                </tr>
            </thead>
            <tbody>
                    {res}
            </tbody>
            </table>
            </>


Но там где у меня встречается в объекте массив пока получается либо пусто, либо 1 значение. Не могу понять как правильно сделать вывод
  • Вопрос задан
  • 50 просмотров
Решения вопроса 1
Alexandroppolus
@Alexandroppolus
кодир
Вместо item.qualities.name надобно так:
item.qualities.map(q => q.name).join(', ')
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы