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

原文链接:

http://jack-min2011.iteye.com/blog/1233801

 


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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值