访问特定阵列

时间:2012-12-26 23:49:56

标签: javascript

我有一组以下列方式命名的数组:question0, question1, question2等 我还有一个与问题编号对应的变量。

有了这个,如何在不必输入整个名称的情况下访问数组question0。例如,在for循环中,如果循环编号为5,我想在question5上执行操作。我知道这很简单,但我找不到解决方案。

4 个答案:

答案 0 :(得分:2)

以序列号结尾的变量通常是使用数组的提示。听起来你需要一组数组,然后你就可以了:

doOperation(question[somenumber])

答案 1 :(得分:1)

为什么不使用大数组question,每个项目本身就是一个数组?

除此之外,如果变量是全局的,那么您可以使用window['question'+i],其中i是问题的编号。

答案 2 :(得分:1)

不要使用带序号的变量名作为后缀;使用适当的结构,例如数组:

var questions = ['why?', 'what?', 'where?'],
nr = 2; // the question number

alert(questions[nr]);

在我的例子中,每个“问题”都是一个字符串,但它可以是任何其他结构,包括另一个数组。

答案 3 :(得分:0)

我认为将问题(n)值作为数组更简单。从那里你可以使用以下内容:questions[i]其中i表示当前循环编号,从而改善操作。

var questions = [["What?", "Why?"], ["When?", "How?"]];
for(var i = 0; i < questions.length; i++) {
 for(var j = 0; j < questions[i].length; j++) {
  console.info(questions[i][j]);
 }
}