Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在100个问题的测验中,问题数组被映射,那么如何轻松存储问题、选定选项和问题答案?_Javascript_Reactjs - Fatal编程技术网

Javascript 在100个问题的测验中,问题数组被映射,那么如何轻松存储问题、选定选项和问题答案?

Javascript 在100个问题的测验中,问题数组被映射,那么如何轻松存储问题、选定选项和问题答案?,javascript,reactjs,Javascript,Reactjs,我正在用React做一个测验,但我一直在计算分数,并在下一页显示所有问题和答案 我有100个这样的问题 const questionsArr=[ { 问题:“纽约公园大道中央航站楼是世界上最大的”, 选项:[“最大的火车站”、“最高的火车站”、“最长的火车站”、“上述任何一个”], 答:“最大的火车站” }, { 问题:“昆虫学是研究的科学”, 备选案文:[“人类行为”、“昆虫”、“技术和科学术语的起源和历史”、“岩石的形成”], 答:“技术和科学术语的起源和历史” }, { 问题:“厄立特里

我正在用React做一个测验,但我一直在计算分数,并在下一页显示所有问题和答案

我有100个这样的问题

const questionsArr=[
{
问题:“纽约公园大道中央航站楼是世界上最大的”,
选项:[“最大的火车站”、“最高的火车站”、“最长的火车站”、“上述任何一个”],
答:“最大的火车站”
},
{
问题:“昆虫学是研究的科学”,
备选案文:[“人类行为”、“昆虫”、“技术和科学术语的起源和历史”、“岩石的形成”],
答:“技术和科学术语的起源和历史”
},
{
问题:“厄立特里亚于1993年成为联合国第182个会员国,位于非洲大陆”,
选项:[“亚洲”、“非洲”、“欧洲”、“澳大利亚”],
答复:“非洲”
},
{
问题:“1933年上台的希特勒党被称为”,
选项:[“工党”、“纳粹党”、“三K党”、“民主党”],
回答:“纳粹党”
}	

]
你应该从阅读开始

总结:

  • Test

  • 通过复选框输入上的
    onChange
    处理程序检查选项时更新此状态

  • 假设您有问题和答案的ID(如果问题存储在数据库中,则应该有),则状态可能类似于
    [{questionId:1,answerId:2},{questionId:2,answerId:0},{questionId:100,answerId:null}]
    。然后,每次更改答案时,您都会更新相关的
    应答ID


    附言:你可能不想把正确答案存储在前端,因为参加测验的人可以访问答案。相反,您应该验证后端给出的答案

    您能创建codesandbox吗?看看你已经做了什么。您没有关闭标签之间的所有输入。我有一个onChange处理程序,它在单选按钮更改时获取值。但是我有100个问题是从一个数组中映射出来的。那么,我如何将所有这些问题的选定答案存储在状态中,因为将有100个变量。我更新了答案,以详细说明状态可能是什么样子