如何渲染JavaScript对象中的正确选项 修复map方法无输出问题
现有代码问题分析
- 层级遍历逻辑错误:你当前遍历的
questions数组的每个元素是单个题目对象,你将其命名为answerOption产生了逻辑混淆,题目对象下的answerOptions才是答案选项的数组,你直接访问answerOption.answerOptions.isCorrect相当于对数组访问isCorrect属性,返回值永远为undefined,所以判断条件永远不成立,无内容输出。 - 缺少选项层遍历:你没有对单个题目下的
answerOptions数组做遍历,无法拿到单个选项对象的isCorrect和answerText属性。
正确实现代码
如果你要输出单个题目的正确答案,代码如下:
// 假设当前处理的是questions数组的第一个题目 const currentQuestion = questions[0]; { currentQuestion.answerOptions.map(option => option.isCorrect ? <div>{option.answerText}</div> : null ) }
如果你要遍历所有题目,输出每道题的正确答案,代码如下:
{ questions.map((question, index) => ( <div key={`question-${index}`}> <p>题目:{question.questionText}</p> <p>正确答案: {question.answerOptions.map((option, optIndex) => option.isCorrect ? <span key={`opt-${optIndex}`}>{option.answerText}</span> : null )} </p> </div> )) }
内容的提问来源于stack exchange,提问作者Petar18
相关产品推荐
相关产品推荐

