在嵌套数组中查找信息

时间:2012-03-12 01:46:27

标签: javascript

我有一个存储值的数组:

var array = [['favorite color'],['black','red']]

得到black我会:

document.write(array[0][1][0]);

然后如果我向数组追加另一个问题[['favorite thing']['box','ball']]

如果我想要球,我会:

document.write.array[1][1][1];

我无法理解数组。我想要一个包含一个问题和多个答案的数组,然后我想循环遍历它们并显示所有内容。我可以做循环,但我不确定如何在创建它们时在嵌套数组中找到它们。

2 个答案:

答案 0 :(得分:3)

使用对象组合(像字典一样工作)和数组。例如:

var array = [ 
  {'question' : 'favorite color', 'choices' : ['black','red'] },
  {'question' : 'favorite thing', 'choices' : ['box','ball'] }
]

for( var i = 0; i < array.length; i++ ) {
    var question = array[i]['question'];
    var choices = array[i]['choices'];

    // here you can display / write out the questions and choices
}

请记住,创建一个类并使用构造函数或init方法可能更好地封装了问题和答案的概念。但以上是基本思路。

答案 1 :(得分:0)

var array = [['favorite color'],['black','red','blue']];
document.writeln(array[1][1]);
document.write(array[1][2]);

打印red然后blue看到它正常工作:http://jsfiddle.net/HJ872/

如何?

array[0] => gets an *array* = ['favorite color'] 
           => array[0][0] gets this first element `favorite color`

array[1] => also gets this array = ['black','red','blue'] 
            => and then [1][1] will get 'red', [1][2] will get `blue`