我试图在每次问题混淆时进行测验,并且数组中的数字与该顺序中的函数相对应

时间:2017-05-16 01:32:51

标签: javascript

开始

所以有一个带数字的数组。然后它从这些数字中选择一个随机顺序。这些数字与功能相对应,功能是问题。有没有办法做到这一点。我只有十,刚刚启动javascript所以请帮忙。提前致谢

1 个答案:

答案 0 :(得分:1)

好的,首先让我们稍微考虑一下你的问题,然后我们来看一些代码。

首先,你想到了与函数对应的数字数组真棒!这种映射,其中数组中的数字对应于代表问题的函数,类似于语言引擎下的许多内容!然而,在这种情况下,我们并不需要它,因为我们可以用函数指针创建一个数组,这是一种内置的方式来完成你所描述的内容。

因此,让我们提出一些示例问题:

function Question1() { 
     window.alert("What is your favorite color?"); 
}

function Question2() { 
     window.alert("What is your favorite animal?"); 
}

所以现在我们可以调用我们的问题,例如:Question1()并输出特定的问题。请注意,这并没有处理现在的响应,只是提出问题,来说明一些数组的用法。

现在我们如何从数组中调用它们?

a = [Question1, Question2];
a[0](); /* This calls question 1 */

所以现在我们可以使用rand来选择随机问题(使用Mozilla的辅助函数):

function getRandomInt(min, max) {
   min = Math.ceil(min);
   max = Math.floor(max);
   return Math.floor(Math.random() * (max - min)) + min;
}

index = getRandomInt(0, a.length);
a[index](); /* Calls a random question */

那就是它!此外,我不是另一位评论员使用eval来解决这个问题,这肯定有效,但由于它的漏洞,通常不是一种好的做法。如果你朝那个方向前进,you might want to look into it