`
Jack_min2011
  • 浏览: 3829 次
  • 性别: Icon_minigender_1
  • 来自: 南京
最近访客 更多访客>>
社区版块
存档分类
最新评论

ActionScript中的关联数组的长度和空值的判断

阅读更多

      今天在做项目的过程中使用了一下关联数组,在判断关联数组是否为空时,碰见了一个问题,利用数组中常用到的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和值拼装成一个字符串使用,达到了我的功能。

     希望大家有更好的办法能指点下我,谢谢!


分享到:
评论

相关推荐

    flash实例(数组的应用)

    在actionscript3.0中数组的属性PUSH与slice属性的应用

    flash actionscript3游戏开发之根据数组生成地图map玩家开火打敌人有子弹爆炸效果和碰撞检测.rar

    在Flash ActionScript3(AS3)游戏开发中,创建动态且互动的地图系统是至关重要的,这使得游戏具有更丰富的可玩性和策略性。本压缩包中的资源着重于讲解如何使用数组来生成游戏地图,以及实现玩家开火、子弹爆炸效果...

    Actionscript中delete关键字例子

    在ActionScript中,删除数组元素并不会改变数组的长度,只是将其设置为`undefined`。例如: ```actionscript var arr:Array = [1, 2, 3]; delete arr[1]; trace(arr); // 输出:[1, undefined, 3],第二个元素被...

    Actionscript中文帮助文档

    8. **内置类库**:ActionScript 3.0包含丰富的内置类库,如Math类用于数学运算,Date类处理日期和时间,Array和Vector类处理数组数据。 9. **图形和动画**:ActionScript 3.0提供了强大的图形绘制和动画制作能力,...

    FlashActionScript3.0数组的定义及其元素的访问[整理].pdf

    总之,ActionScript 3.0中的数组是灵活且功能强大的数据结构,适用于各种场景,包括数据存储、数据处理和算法实现。通过正确理解和运用数组的定义、初始化、访问和操作方法,可以编写出更高效、更易于维护的代码。

    2013 Adobe ActionScript 3.0 开发人员指南

    处理字符串是编程中的基础,ActionScript 3.0提供了丰富的字符串操作方法,包括创建字符串、获取长度、处理字符、比较字符串、获取对象的字符串表示、连接字符串以及在字符串中查找子字符串和模式。正则表达式也是...

    flash 调用外部数组.doc

    这是因为在JavaScript(以及Flash ActionScript)中,数组的索引是从0开始的,所以数组的最后一个元素的索引是`length - 1`。我们使用`for`循环遍历数组,通过`trace()`函数打印出每个元素,以便在Flash的输出窗口中...

    ActionScript3.0的一些实例代码

    在“ActionScript3.0的一些实例代码”这个文档中,我们可以期待找到一系列经过验证的代码示例,这些示例涵盖了ActionScript3.0的核心特性,包括数组操作、多媒体处理以及XML解析。 首先,我们来深入了解一下...

    Adobe Flash 中的 ActionScript 2

    下面是关于 ActionScript 2.0 中变量、数据类型、赋值以及数组和对象的一些关键知识点: 1. **变量声明**: - 在 ActionScript 2.0 中,使用 `var` 关键字声明变量。例如,`var catName:String;` 声明了一个名为 `...

    ACTIONSCRIPT® 3.0开发人员指南

    - **管理日历日期和时间:** 在ActionScript 3.0中,开发者可以通过`Date`类来处理日期和时间。`Date`类提供了一系列的方法来获取、设置和操作日期与时间。例如,可以使用`getYear()`、`getMonth()`、`getDate()`等...

    as3数组特定属性相同去除

    以数组属性_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...

    flex中文帮助 ActionScript3.0中文帮助

    ActionScript 3.0 语言和组件参考概述Adobe Flex 2 语言参考ActionScript 3.0 语言和组件参考是适用于 Flash® Player 应用程序编程接口 (API) 的参考手册。 Adobe Flex 2 语言参考ActionScript 3.0 语言和组件...

    ActionScript语句中文全解

    1. 变量:ActionScript中的变量定义使用var关键字,例如`var myVariable:Type;`。类型可以是基本数据类型(如Number、String、Boolean等)或自定义类。 2. 函数:函数定义使用function关键字,如`function ...

    ActionScript 3开发手册

    - **关联数组**:类似于哈希表,使用字符串键来存储和检索数据。 - **多维数组**:包含数组的数组,可以用来组织复杂的数据结构。 - **克隆数组**:通过`slice`或`Array.from`方法复制数组,避免引用问题。 - **扩展...

    《ActionScript 3.0 语言和组件参考》中文官方版本,无错

    ActionScript 是针对 Adobe Flash Player 运行时环境的编程语言,它在 Flash 内容和应用 程序中实现了交互性、数据处理以及其它许多功能。 ActionScript 是由 Flash Player 中的 ActionScript 虚拟机 (AVM) 来执行的...

    ActionScript开发技术大全

    第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 3.0 CookBook 中文翻译

    压缩包中的"FLASH-FLEX3[1].0开发中文版+完整版+.pdf"文件包含了全书的完整内容,读者可以通过阅读其中的章节,了解和学习如何利用ActionScript 3.0来实现各种功能,例如: 1. 类和对象:学习如何定义类、创建对象...

    ActionScript3的中文api和ppt讲解

    ActionScript3的API文档详细列举了语言的所有内置类、方法和属性,是开发过程中的重要参考工具。CHM(Compiled HTML Help)是一种微软开发的帮助文件格式,它将多个HTML页面打包成一个文件,方便用户离线查阅。中文...

    ActionScript开发人员指南中文版

    在ActionScript中使用XML的示例:从Internet加载RSS数据 第章:使用本机JSON功能 JSONAPI概述 定义自定义JSON行为 第章:处理事件 事件处理基础知识 ActionScript事件处理与早期版本事件处理的不同之处 事件流 事件...

    ActionScript 3.0 API文档(CHM+HTML最新中文完整)

    本手册提供了 ActionScript 语言中所支持元素的语法和用法信息。 其中包括以下部分: 下面的 《ActionScript 3.0 语言和组件参考》是 Flash® Player 和 Adobe® AIR™ 应用程序编程接口 (API) 的参考手册。 语言...

Global site tag (gtag.js) - Google Analytics