在javascript中访问嵌套数组项

IT技术 javascript reactjs
2021-05-14 11:05:43

我正在使用 javascript trivia API 来制作应用程序。我在显示错误答案的每个值时遇到问题。

到目前为止,我已将它们保存在我的状态中,以及问题和正确答案

componentDidMount() {
  axios.get('https://opentdb.com/api.php?amount=50').then(response => {
    for (var key in response.data.results) {
      console.log(response.data.results[key].question)
      this.setState(prevState => ({
        questions: [...prevState.questions, response.data.results[key].question],
        answers: [...prevState.answers, response.data.results[key].correct_answer],
        wrongAnswers: [...prevState.wrongAnswers, response.data.results[key].incorrect_answers]

      }));
    }
  });
}

这工作正常,但我的问题是错误的答案是一个数组本身,所以每当我显示状态

<p>{this.state.wrongAnswers[this.state.random]}</p> // prints array of strings

我得到另一个数组,我可以使用点运算符访问每个元素,因为我不知道答案,因为问题是随机选择的。

我想使用单选按钮动态显示值。有没有办法访问嵌套数组的每个元素并动态显示它们?

1个回答

您可以遍历该数组并显示错误的答案

{Array.isArray(this.state.wrongAnswers) && this.state.wrongAnswers.map((wrongAnswer, index) => {
  <p key={'Key-'+index}>wrongAnswer}</p>
}}