2010-11-19 20 views

Répondre

6

Vérifiez qu'il existe au moins un champ:

function isEmptyObject(myObject:Object):Boolean { 
var isEmpty:Boolean=true; 

for (var s:String in myObject) { 
    isEmpty = false; 
    break; 
} 

return isEmpty; 
} 
+3

Il shouldn Il n'y a aucune raison d'utiliser une variable temporaire, car on pourrait simplement utiliser 'return false;' dans l'instruction 'for'. – h2ooooooo

1

Cela fonctionne avec un objet dynamique et des classes, pour vérifier si un objet contient des champs cela devrait être une solution plus générale

import flash.utils.describeType; 

var test:String = "test"; 

var data:XML = describeType(test); 
trace(data..accessor.length() > 0 || data..variable.length() > 0) 
+0

Bien que je posais des questions sur les objets dynamiques, c'est une excellente réponse! (et bienvenue à SO!) – aaaidan