[英]creating a multiple choice quiz with array
我是一个完整的初学者,我正在使用数组创建一个多项选择测验。 这些问题的格式相同“以下哪个单词与'_________'具有相似的含义” 。 所以我创建了一个数组(?)来存储我想要放入“________”的所有单词,另一个包含对应答案的数组。
var ques=['apple', 'pencil' ,'juice'];
var ans= ['orange', 'pen','water'];
但是,由于我要创建数百个问题,因此我认为按照以下方式进行操作很麻烦。
var querep=[ ['apple','orange'], ['pencil','pen'],['juice','water'] ];
所以我尝试这样做:
var querep=[ [ques, ans] ];
是的,我知道这对你们来说毫无意义,但我只想合并两个数组列表并允许它执行与 function 相同的操作
var querep
例题:下面哪个词和apple意思相近?
一支钢笔
B.作家
C.orange
D.蔬菜
您的方法可能无法满足此答案。 但是您可以将其作为数据结构设计的参考。 几年前我做了类似的事情,最后发现自己沉浸在重构阶段并重新做了很多部分。
我可以告诉你,当涉及到长列表时,你可能有一个很大的问题调查列表。 你应该把它想象成一个大的 object。 不是像您正在实施的方法那样的常用数组,因为它对于与查找/遍历目的相关的任何事情都更快。
因此,基本上数据可能如下所示:
const questions = {
"apple": "orange",
"water": "juice",
"chicken": "duck",
...
}
您仍然可以使用 {key,value} 对遍历 object,您的问题就解决了。
在实际场景中,我认为数据结构可能更复杂,通常每个都有自己的_id
,所以 object 可能看起来像这样,但迭代的方法没有改变。
const questions = {
"12312311414": {
id: "12312311414",
quesion: "apple",
accept: "orange",
},
"12312311415": {
id: "12312311415",
quesion: "water",
accept: "juice",
},
...
}
所以,在决定合并两个 arrays 之前,希望你能改变主意。
plan like this.
// At first write all your questions , options and answers here.
var questions = [
{"question" : "what is the capital of india?" , "options" : ["hyderabad","delhi","chennai","bengalore"], "answer" : "hyderabad"},
{"question" : "what is even number?" , "options" : [1,3,5,8], "answer" :8}
];
// you will get question along with question number here
var questions_list = {}; var i = 1;
$.each(questions ,function(k,v){
questions_list[i] = v;
i++;
});
console.log(questions_list);
如果您想使用问题中提到的合并数组,您可以在数组上使用map
function 来创建一个新数组。 这里新的querep
数组应该是你想要的格式:
var ques=['apple', 'pencil','juice']; var ans= ['orange', 'pen','water']; var querep = ques.map(function(val, index){ return [val, ans[index]] });
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.