0

わかりました..私は本当に頭がおかしいに違いありません。これらが「a」に対して 3-5 を出力しないのはなぜですか? 配列に 3 ~ 5 を格納するために 2 つの異なる方法を試しましたが、どちらも明らかです。根底にある翻訳には、私が見ていない何かがあるに違いありません。

<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
4

2 に答える 2

3

for( a in articlesKey)aの KEYS を反復処理しarticlesKeyます (その後、値を として取得できますarticlesKey[a])。ここには何も問題はありません。

于 2012-04-08T21:55:16.330 に答える
0

これは単純に、 a がインデックスの値ではなく、ループ内の配列インデックスを表しているためです。修理:

document.write("<br>a:"+articlesKey[a]);
于 2012-04-08T21:57:37.827 に答える