2016-10-13 00:16:48 点击量:24 标签: 收藏本文
- var arr:Array = [0,1,2];
- var obj:Object = {gold:"",coin:"",exp:""};
- function arrToObj(oldArr:Array, oldObj:Object):Object
- {
- var index:int = 0;
- for(var key:String in oldObj)
- {
- oldObj[key] = oldArr[index];
- index++;
- }
- return oldObj;
- }
- function test(initObj:Object)
- {
- for(var key:String in initObj)
- {
- trace(key + ":" + initObj[key]);
- }
- }
- test(arrToObj(arr,obj));
然而测试下来obj里面的各个键值对应的属性值并不是数组arr里按照数组下标来赋的值,原来用for...in循环搜索出来的obj的键值不是按照顺序的,故赋值出错了,只有修改
- function arrToObj(oldArr:Array, oldObj:Object):Object
- {
- oldObj.gold = oldArr[0];
- oldObj.coin= oldArr[1];
- oldObj.exp= oldArr[2];
- return oldObj;
- }
这样才能达到对应键赋值的作用了...