@Kipsi

Правильно ли делать map внутри map?

Подскажите пожалуйста. Если у меня есть объект с объектом в котором массив и тд. и мне нужно пройти по нему map например. Я могу ли использовать map внутри map или есть более правильный вариант?
const obj = [{
  sity: 'alab',
  age: 22,
  name: [
    {firs: 'alex', last: 'vitebly'},
    {firs: 'alex', last: 'vitebly'},
    {firs: 'alex', last: 'vitebly'},
  ]
}]
obj.map(i => {return i.name.map(i => {
  // Можно ли делать так?
})})
  • Вопрос задан
  • 2304 просмотра
Решения вопроса 2
@i1yas
Да, это нормальная практика при обработке вложенных структур, например:

const topics = [
   {
      topicName: 'Hello there',
      messages: [{...}, {...}]
   },
   {
      topicName: 'Need help',
      messages: [{...}, {...}]
   },
]

const msgIdx= topics.map(topic => topic.messages.map(msg => msg.id));


Только учтите, что структура останется вложенной [ [], [], ...]
Если нужно получить плоский список, одним мапом не обойтись:
const msgIdx= topics.map(topic => topic.messages.map(msg => msg.id))
    .reduce((acc, idList) => acc.concat(idList), [])
Ответ написан
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
Можно (буквально сегодня писал такое).
Нужно ли -- зависит от вашей задачи.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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