我将数值添加到数组中:
ansArray = {question:id[count], answer: 'a'};
,控制台显示如下结果:
(
{
answer = a;
question=1;
},
{
answer =d;
question=2;
}
//......
//.......
)
我使用了这样的for循环:
for (i=0;i<20;i++){
alert(ansArray[i].answer); //This comes with undefined error
alert(ansArray[i].question); //undefined
}
这会出现未定义的错误;
但如果我不使用&#39; i&#39;变量并使用数字代替,信息显示正确的值:
alert(ansArray[0].answer); //shows correct value
alert(ansArray[1].question); //shows correct value
for循环显示错误的原因是什么?我在这里错过了什么?
感谢您的帮助。
答案 0 :(得分:0)
您的第一个问题是您的ansArray变量不是数组,而是对象。您将其声明如下:
ansArray = {question:id[count], answer: 'a'};
这是创建一个带有问题字段和答案字段的对象。您可以声明这样的对象:
someObject = {};
你可以像这样声明数组:
someArray = [];
所以,你可能意味着有类似的东西:
ansArray = [{question:0, answer:'a'}];
这会给你一个包含单个对象的数组。我猜你想要这样的东西:
var ansArray = [];
ansArray[0] = {question:0, answer:'a'};
ansArray[1] = {question:1, answer:'d'};
...
ansArray[19] = {question:19, answer:'b'};
您可以使用原始循环代码循环播放此代码。使用javascript标签也很有帮助。