Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 对于每个未更新的变量_Actionscript 3_Foreach - Fatal编程技术网

Actionscript 3 对于每个未更新的变量

Actionscript 3 对于每个未更新的变量,actionscript-3,foreach,Actionscript 3,Foreach,当对每个构造使用AS3时,我发现我无法更新正在迭代的数组的成员 for each( obj:Object in array ){ obj = new Object(); } 当我再次循环数组时,它们的值仍将与循环之前相同 在这种情况下,我是坚持使用传统for循环,还是有办法使更新保持不变。如Daniel所述,您正在将一个新对象实例化为obj引用,而不是数组元素。而是按顺序访问数组: var array:Array = [{}, {}, {}]; for (var i:uint = 0

当对每个构造使用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] = {};
}
var数组:数组=[{},{},{}];
对于(变量i:uint=0;i
its,因为您正在更新对
obj
中对象的引用。使用常规的
for
循环。将for每个循环都看作是只读的。为什么要使用uint而不是int?不是质疑,只是认为有一个特殊的原因。序数不能是否定的;因此,
i
当unsigned时可以从0迭代到4294967295。哦,我认为uint是不一样的。谢谢。一些编译器将
i
实现为
-1
,然后将
++i
实现为优化。但在这里,它只是为了获得额外的2147483647次迭代。