0

これが私のコードです

var inventory = new Array();
inventory[0] = "Potion";
inventory[1] = "Mana Potion";
inventory[2] = "Key";

for(s in inventory){
    trace(s);
}  

しかし、トレースは2、1、0を返します。それで、追加してみますが、それで2、0、1inventory.reverse();が得られます。なぜ0、1、2ではないのでしょうか。どうすればこれを修正できますか?

別の注意点として、インデックスに基づいてこれらの変数をテキストボックスに中継するにはどうすればよいですか?
私は試した

for(s in inventory){
    "item" + s = inventory[s];
}

ステージ上のテキストボックスには、(item1、item2、item3など)の変数があります。

しかし、それはうまくいきません、何かヒントはありますか?

4

1 に答える 1

1

アイテムではなく、長さを繰り返します。

for (var i=0; i < inventory.length; i++) {
    trace(i);
}

また、を使用して配列にアイテムを追加することはそれほど具体的でpush()はないため、すでにいくつのアイテムが配列に含まれているかを事前に知る必要はありません。

inventory.push("Potion");
inventory.push("Mana Potion");
inventory.push("Key");
于 2012-04-29T23:57:35.937 に答える