在for循环中添加数组不能正确存储值?

时间:2012-04-08 21:53:59

标签: javascript

好吧..我真的一定要疯了。为什么这些不能打印出“a”的3-5?我已经尝试了两种不同的方法来将数组存储在3-5下面,并且它们看起来都很明显。我不会在底层翻译中找到一些东西。

<script>
    var articlesKey = [];
    for(var i = 3; i < 6; i++) {
        articlesKey.push(i);
        document.write('<br>i:'+i);
    }
    for (a in articlesKey)
        document.write("<br>a:"+a);


    articlesKey = [];
    var count = 0;
    for(var i = 3; i < 6; i++) {
        articlesKey[count] = i;
        document.write('<br>i:'+i);
        count++;
    }
    for (a in articlesKey)
        document.write("<br>a:"+a);
</script>

打印出来:

i:3
i:4
i:5
a:0
a:1
a:2
i:3
i:4
i:5
a:0
a:1
a:2

2 个答案:

答案 0 :(得分:3)

for( a in articlesKey)通过a的密钥重复articlesKey(然后让您将值设为articlesKey[a])。这里没有错。

答案 1 :(得分:0)

这很简单,因为a表示循环中的数组索引,而不是索引处的值。修正:

document.write("<br>a:"+articlesKey[a]);