1. ホーム
  2. Web プログラミング
  3. フレックス

flex Object オブジェクトの中身を繰り返し処理する。

2022-01-19 16:24:56

obj.nameのようなObjectオブジェクトしか反復できないと思っていたが、今日、データ比較をしてみて気がついた。  

コピーコード コードは以下の通りです。

     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];
        }
       }

この方法は、実はjavaのObjectとHashMapに非常に似ている感じがします。どちらもヒット-バリューのペアです。

具体的な例

コピーコード コードは以下の通りです。

private function init():void {
   // New object
   var obj:Object = new Object();

   //add key-value
   obj["name"] = "liguoliang"; //format: Object[key] = value
   obj["age"] = 25; //Note: key must be String, value can be any type

   //Use for..in... Iterate through all the key - value
   for(var k:String in obj) {
    trace("Key: " + k + " - value: " + obj[k]);
   }

   //Iterate through the HashMap using for each..in
   for each( var v:* in obj) {
    trace("value: " + v);
   }

   // Delete a key-value
   delete obj["age"];

   //Use for..in... Iterate through all the key - value
   for(var k:String in obj) {
    trace("Key: " + k + " - value: " + obj[k]);
   }
}