0
我需要随机显示问题以及相应的选择和答案。为此,我有3阵列,洗牌超过2阵列的测验应用程序?
1)ARRAY1为问题
2)数组2是用于选择
3)阵列3为答案
为例如:
var questions = [
"q1",
"q2",
"q3",
"q4",
];
var choices = [
[
"choice1",
"choice2",
"choice3",
"choice4"
],
[
"choice1",
"choice2",
"choice3",
],
[
"choice1",
"choice2",
"choice3",
],
[
"choice1",
"choice2",
],
[
"choice1",
"choice2",
"choice3",
"choice4"
],
];
var answers = [
[1,1,0,1],
[0,1,0],
[0,1],
[1,1,1,0],
];
我有波纹管的代码,它适用于单个数组,但我想为多个数组实现相同类型的方法。
function shuffle(source){
var l=source.length-1;
for(var i=l; i>0; i--){
var itemIndex=Math.floor(Math.random()*(i+1));
var item=source[i];
source[i] = source[itemIndex];
source[itemIndex]=item;
}
return source;
}
可否请你告诉我,什么是实现这一
你需要自己洗牌阵列吗?您可以对一系列问题索引进行整理,然后在问问时查找相应的问题,选择和答案。或者例如将每个问题的问题,选择和答案结合到一个简单的结构中,以便将它们放在一起?你可以在这里使用你的方法一次性洗牌。 – Rup 2015-03-25 12:29:22
我同意Rup的建议,将所有内容合并到一个数组中:'var quiz = [{question:“Highest mountain”,choices:[{text:“Everest”,score:1},{text:“K2”score :0},...]},...]' – 2015-03-25 12:40:09
不,现在不可能改变结构。因为渲染逻辑或视图渲染代码已经完成。我们必须通过使用不同的数组来完成 – niran 2015-03-25 12:46:16