- public function setMainDrivers(pageId:int, arr:Array, totalCount:int):void
- {
- totalMainDriverCount = totalCount;
- var drivers:Array = [];
- for each(var d:NPCAvatarVO in arr)
- {
- var driver:PlayerAvatar = new PlayerAvatar();
- var driverObject:Object = JSON.parse(JSON.stringify(driver));
- for(var dkey:String in driverObject)
- {
- driver[dkey] = d[dkey];
- }
- drivers.push(driver);
- }
- mainDriverPages[getRealPageId(pageId)] = drivers;
- }
下面是我在csdn上找到的关于for in和for each in 的一些总结
for ..in 语句遍历 对象的动态属性或数组中的元素,并对每个属性或元素执行 statement
。对象属性不按任何特定的顺序保存,因此属性看似以随机的顺序出现。固定属性,例如在类中定义的变量和方法,不能由for..in
语 句来枚举。若要获得固定属性列表,请使用 flash.utils 包中的 describeType()
函数。下面的示例使用 for..in
遍历对象 的属性:
- var myObject:Object = {firstName:"Tara", age:27, city:"San Francisco"};
- for (var prop in myObject)
- {
- trace("myObject."+prop+" = "+myObject[prop]);
- }
for each ..in 语句遍历集合的项目,并对每个项目执行 statement
。for each...in语句
作为 E4X 语言扩展的一部分引入,不仅可以用于 XML 对象,而且可以用于对象和数组。 for each...in
语句仅遍历对象的动态属性,而不是固定属性。固定属性是指定义为类定义的一部分的属性。若要使用具有用户自定义类的实例的for each...in
语句,则必须声明具有 dynamic
属性的类。 与 for..in
语句不同,for each...in
语句将遍历对象属性的值,而不是属性的名称。
下例使用 for each...in
遍历对象的属性具有的值
- var myObject:Object = {firstName:"Tara", age:27, city:"San Francisco"};
- for each (var item in myObject)
- {
- trace(item);
- }