當爲每個構造使用AS3時,我發現我無法更新即時迭代數組的成員。每個不更新變量
for each(obj:Object in array){
obj = new Object();
}
當我再次循環數組時,它們仍將具有與循環之前相同的值。
我堅持使用傳統for循環在這種情況下,還是有辦法讓更新堅持。
當爲每個構造使用AS3時,我發現我無法更新即時迭代數組的成員。每個不更新變量
for each(obj:Object in array){
obj = new Object();
}
當我再次循環數組時,它們仍將具有與循環之前相同的值。
我堅持使用傳統for循環在這種情況下,還是有辦法讓更新堅持。
正如Daniel表示的,您正在將一個新對象實例化爲obj
引用,而不是數組元素。相反,按順序訪問數組:
var array:Array = [{}, {}, {}];
for (var i:uint = 0; i < array.length; i++)
{
array[i] = {};
}
你爲什麼使用uint而不是int?不問,只是數字有一個特定的原因。 – Panzercrisis
序數不能是負數;因此,無符號時的'i'可以從0迭代到4,294,967,295。 –
哦,我以爲uint是不同的。謝謝。 – Panzercrisis
它的原因是您正在更新對'obj'中對象的引用。使用常規的'for'循環。 –
認爲每個循環有點像只讀。 – Panzercrisis