@sinevik

Чем заменить метод map на объекте?

С сервера, вместо массива, стал приходить объект.
{0: "ребёнак", 1: "рибёнок", 2: "ребёнок", 3: "рибёнак"}


Подскажите пожалуйста как переписать данный код, что бы иметь тот же эффект и максимально правильно перебирать объект
result = this.props.gamedata.questions[2].options.map((item, index, arr) => {
        				return (
                  <Button
                    key={index}
                    onPress={() => this.getQuestions(item)}
                    title={item}
                  >
                      {item}
                  </Button>
        				)
        		});
  • Вопрос задан
  • 94 просмотра
Решения вопроса 1
rockon404
@rockon404
Frontend Developer
const obj = {0: "ребёнак", 1: "рибёнок", 2: "ребёнок", 3: "рибёнак"};

const result = Object.values(obj).map((item, i) => (
  <Button
    key={i}
    onPress={() => this.getQuestions(item)}
    title={item}
  >
    {item}
  </Button>
));


Не очень хорошая конструкция:
this.props.gamedata.questions[2].options;
Лучше переделать так:
this.props.gamedata.questions.map(question => (
  <Question key={question.id} data={question} />
));
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы