Actionscript 3.0では、var myObject:Object
が{}
と機能的に同じかどうかを確認するにはどうすればよいですか?AS3 "Object"変数が完全に空であるかどうかを確認するには?
オブジェクトが参照型であるため、私は右、...私は...
if (myObject == {}) {
// etc
}
を行うことはできませんそれを取りますか?
Actionscript 3.0では、var myObject:Object
が{}
と機能的に同じかどうかを確認するにはどうすればよいですか?AS3 "Object"変数が完全に空であるかどうかを確認するには?
オブジェクトが参照型であるため、私は右、...私は...
if (myObject == {}) {
// etc
}
を行うことはできませんそれを取りますか?
それは少なくとも一つのフィールドが存在することを確認します。
function isEmptyObject(myObject:Object):Boolean {
var isEmpty:Boolean=true;
for (var s:String in myObject) {
isEmpty = false;
break;
}
return isEmpty;
}
これはチェックするために、動的オブジェクトやクラスと連携したオブジェクトのフィールドが含まれている場合、これは、より一般的な解決策であるべき
import flash.utils.describeType;
var test:String = "test";
var data:XML = describeType(test);
trace(data..accessor.length() > 0 || data..variable.length() > 0)
私は動的オブジェクトについて尋ねていましたが、これは素晴らしい答えです! (とSOへようこそ!) – aaaidan
ありshouldn 'for'文の中で単純に' return false; 'を使うことができるので、一時変数を使う理由はありません。 – h2ooooooo