今天在做项目的过程中使用了一下关联数组,在判断关联数组是否为空时,碰见了一个问题,利用数组中常用到的length属性,发现在关联数组明确有值的情况下,返回值为0,让我很是郁闷,看了下开发指南,发现是length属性用在关联数组上时是返回0.
思考了一下,采用下面的办法进行解决:计算关联数组中Key元素的个数。
下面是辅助类:
package com.jack.min
{
public class AssociationArrayUtil
{
public function AssociationArrayUtil()
{
}
//通过计算关联数组中元素的key的个数是否为0来判断关联数组是否为空
public static function getLength(array:Array):uint
{
// 设置一个变量来保存关联数组元素的个数
var count:uint = 0;
for (var key:Object in array)
{
count++;
}
return count;
}
public static function isEmpty(array:Array):Boolean
{
return getLength(array) == 0 ? true : false;
}
}
}
引入的测试的文件如下:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="init()">
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<fx:Script>
<![CDATA[
import com.jack.min.AssociationArrayUtil;
private var arr:Array = [];
private var arr1:Array = [];
private function init():void
{
arr["Nanjing"] = "Jiangsu";
arr["Hangzhou"] = "Zhejiang";
arr["Jinan"] = "Shangdong";
trace("AssociationArray arr's length is: " + AssociationArrayUtil.getLength(arr));
trace("AssociationArray arr is empty : " + AssociationArrayUtil.isEmpty(arr));
trace("-------------------------------------------------------");
trace("AssociationArray arr1's length is: " + AssociationArrayUtil.getLength(arr1));
trace("AssociationArray arr1 is empty : " + AssociationArrayUtil.isEmpty(arr1));
}
]]>
</fx:Script>
</s:Application>
输出结果为:
AssociationArray arr's length is: 3
AssociationArray arr is empty : false
-------------------------------------------------------
AssociationArray arr1's length is: 0
AssociationArray arr1 is empty : true
就达到了功能。
可能这个方法有点笨拙,也需要遍历整个关联数组,但是并没有处理数组中的每个元素,我做的是需要将关联数组中的key和值拼装成一个字符串使用,达到了我的功能。
希望大家有更好的办法能指点下我,谢谢!
分享到:
相关推荐
在actionscript3.0中数组的属性PUSH与slice属性的应用
flash as3游戏开发之根据数组生成地图map玩家开火打敌人有子弹爆炸效果和碰撞检测.rar
以数组属性_id为判断,输出结果如下: 去相同ID前: id=55 name=11111 其他=ffdfdfd id=332 name=2222 其他=ffdfdfd id=422 name=3333 其他=ffdfdfd id=55 name=4444 其他=ffdfdfd id=332 name=5555 其他=ffdfdfd id...
ActionScript 3.0 语言和组件参考概述Adobe Flex 2 语言参考ActionScript 3.0 语言和组件参考是适用于 Flash® Player 应用程序编程接口 (API) 的参考手册。 Adobe Flex 2 语言参考ActionScript 3.0 语言和组件...
ActionScript 是针对 Adobe Flash Player 运行时环境的编程语言,它在 Flash 内容和应用 程序中实现了交互性、数据处理以及其它许多功能。 ActionScript 是由 Flash Player 中的 ActionScript 虚拟机 (AVM) 来执行的...
第7章ActionScript3.0中的日期和时间 139 7.1日期与时间 139 7.1.1创建日期对象 139 7.1.2日期对象的属性与方法 140 7.1.3日期格式化 143 7.2时间间隔 144 7.2.1使用Timer类 144 7.2.2秒表示例 146 7.3小结 149 第8...
在ActionScript中使用XML的示例:从Internet加载RSS数据 第章:使用本机JSON功能 JSONAPI概述 定义自定义JSON行为 第章:处理事件 事件处理基础知识 ActionScript事件处理与早期版本事件处理的不同之处 事件流 事件...
ActionScript 3.0 CookBook 中文翻译 ActionScript 3.0 flash+flex
内附ActionScript3 的中文api chm格式的。和自学ActionScript的一些PPT,希望对学习ActionScript的朋友有帮助。
本手册提供了 ActionScript 语言中所支持元素的语法和用法信息。 其中包括以下部分: 下面的 《ActionScript 3.0 语言和组件参考》是 Flash® Player 和 Adobe® AIR™ 应用程序编程接口 (API) 的参考手册。 语言...
ActionScript语句中文全解
《ActionScript 3.0 语言和组件参考》概述《ActionScript 3.0 语言参考》是 Flash® Player 和 Adobe AIR™ 应用程序编程接口 (API) 的参考手册。 此版本包括支持 Adobe AIR 运行时环境的新 ActionScript 类、方法...
ActionScript3中文手册
flash actionScript3 数组冒泡。
下面的《ActionScript 3.0 语言和组件参考》提供 ActionScript 语言中所支持元素的语法和用法信息。其中包括以下部分: 1.语言元素,如全局变量、运算符、语句、关键字、指令和特殊类型 2.包 3.按字母顺序排列的类...
Adobe Flash 中的 ActionScript 2
这是Actionscript的参考手册 希望在大家学习过程中能帮上忙
fla中是与“ActionScript 3视觉编程”部分相关的内容,主要是一些fla文件和xml文件,用于讲解类绑定、组件制作等与视图紧密相关的例子。 Sample.fla用于读者编译本书文档类例子,是一个空Fla文件。 ...
内含actionscript3.0中文教程和ActionScript 3.0中文api
第7章 ActionScript3.0中的日期和时间 第8章 ActionScript3.0异常处理 第3篇 ActionScript3.0可视化编程 第9章 可视化编程基础 第10章 对象交互与事件处理 第11章 ActionScript3.0可视对象 ......