宜昌本地软件开发与弱电工程服务商
项目咨询 · 快速响应
您当前的位置: > 博客2 > AS2与AS3技术

[AS3]as3判断某个对象是否为数组

2016-10-13 00:16:48 点击量:28 标签: 收藏本文

由于AS3中的数组有两种类型可以表示:Array、Vector.<Type>,在AS3,如果你要判断某个对象是否为数组,可以使用以下方法

  1.         /** 
  2.          * @author Jave.Lin 
  3.          * @date 2013-10-23 
  4.          */      
  5.         private function checkItemArrType(value:Object):void 
  6.         { 
  7. //          // 方法一:利用属性,与方法来过滤类型,但不能100%过滤错误 
  8. //          if(!value) throw new Error("value == null"); 
  9. //          // 检查属性 
  10. //          if(value.hasOwnProperty("length")) throw new Error("value is not Array or Vector"); 
  11. //          try 
  12. //          { 
  13. //              // 检查方法 
  14. //              value["indexOf"]; 
  15. //              value["push"]; 
  16. //              value["splice"]; 
  17. //          } 
  18. //          catch(er:ReferenceError) 
  19. //          { 
  20. //              throw new Error("value is not Array or Vector"); 
  21. //          } 
  22.             // 方法二:利用反射类型来判断,对错误的过滤比较好 
  23.             // 先过滤Array 
  24.             if(value is Array) return; 
  25.             // 再过滤Vector 
  26.             var xml:XML = describeType(value); 
  27.             var type:String = ("" + xml.@name) 
  28.             if(!(type.length > 18 && type.slice(0, 19) == "__AS3__.vec::Vector")) 
  29.                 throw new Error("value is not Array or Vector"); 
  30.         } 

 

ABOUT US
宜昌农人网络科技有限公司

我们是一家提供综合软件外包与弱电工程服务的技术公司。

业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。

公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室