发布于2026-07-22 阅读(0)
扫一扫,手机访问
以前总以为遍历Object只能用obj.name这种点语法,今天做数据比较时偶然发现,原来还可以用obj["key"]的方式。实际上,Object和Ja va里的HashMap非常相似,都是键值对结构。看下面的具体例子:
var g2:Object = expensesAC.getItemAt(0);
for(var i:Number=0;i<=23;i++){
if(g2["times"+i]=="0"){
num--;
}else{
d2g+=g2["times"+i];
}
}
注意,这里用动态拼接的键名(如"times"+i)来访问属性,这在处理批量化数据时非常方便。下面再补一个完整的示例,展示增删改查的常规操作:
private function init():void {
//新建对象
var obj:Object = new Object();
//增加key-value
obj["name"] = "liguoliang"; //格式: Object[key] = value
obj["age"] = 25; //注意: key必须为String, value可以为任意类型
//使用for..in...遍历所有的key - value
for(var k:String in obj) {
trace("Key: " + k + " - value: " + obj[k]);
}
//使用for each..in遍历HashMap
for each( var v:* in obj) {
trace("value: " + v);
}
//删除一个key-value
delete obj["age"];
//使用for..in...遍历所有的key - value
for(var k:String in obj) {
trace("Key: " + k + " - value: " + obj[k]);
}
}
从代码里可以清晰看到,Object的用法和Ja va的HashMap几乎一样:可以动态添加、删除、遍历键值对。唯一的小区别是,键必须是字符串,值可以是任意类型(包括数字、布尔、甚至嵌套Object)。这种灵活性在Flex/AS3开发中非常实用,尤其是需要处理动态字段或批量数据时,用obj["key"]比点语法简洁得多。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8