2011-12-10 21 views
2

さて、非常に単純です:3つのオブジェクトを含む配列があります。各オブジェクトには、値1または2または3の「ID」という固有のプロパティがあります。ループスルー配列、各要素のプロパティを設定しますか?

オブジェクトの1つが削除されます。

目的は、新しいarray.length値に対応する各オブジェクトのIDプロパティを更新することです。

たとえば、IDが2のオブジェクトが削除されました。配列内の残りのオブジェクトのID値はそれぞれ1と3です。

目的は、配列をループし、IDプロパティを1と2(1と3の代わりに)に更新することです。

私は、配列の各要素の共通のプロパティを更新するためのループを書く方法が問題だと思います。ありがとう。

答えて

2

あなたがwalkietokyoの答えのように、配列を通過するために、ループを使用することができ、またはあなたはメソッドクロージャ使用することができます。

myArray.forEach (function (item:*, i:int, arr:Array) : void { item.ID = i; }); 

またはwhileループ:

var i:int = -1; 
while (++i < myArray.length) myArray[i].ID = i; 
0
var i:uint; // for speed keep out of the loop 
var arrayLength = myArray.length // for speed keep out of the loop 

for (i = 0; i < arrayLength; i++) { 
    myArray[i].ID = i; 
} 
関連する問題