@Hellas

Как перебрать массив в объекте?

Имеется следующий объект:

const anyIcons = {
  people: [
    {code: "x1f600", title: "qwer"},
    {code: "x1f656", title: "rewq"}
  ],
  nature: [
    {code: "x2f700", title: "erqw"},
    {code: "x4f676", title: "wqer"}
  ]

Необходимо сделать следующее:

{anyIcons.map((type, icons) =>
  <Category>
    <CategoryType>
      {type === 'people' && 'PEOPLE'} 
      {type === 'nature' && 'ANIMALS & NATURE'}
    </CategoryType>
    {icons.map(icon =>
      <RedactorEmojiItem data={icon.code}>{icon.title}</RedactorEmojiItem>
    )}
  </Category>
)}

Но, естественно, что {anyIcons.map((type, icons) => ... в данном примере не работает.
  • Вопрос задан
  • 144 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега React
{Object.keys(anyIcons).map(type => (
  <Category>
    <CategoryType>
      {type === 'people' && 'PEOPLE'} 
      {type === 'nature' && 'ANIMALS & NATURE'}
    </CategoryType>
    {anyIcons[type].map(icon => (
      <RedactorEmojiItem data={icon.code}>{icon.title}</RedactorEmojiItem>
    ))}
  </Category>
))}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
pterodaktil
@pterodaktil
js developer
lodash
Удобная вещь, модульный импорт, не стоит париться на счет многих вещей + куча функционала.
import map from 'lodash/map';

map(anyIcons, type =>...)
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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