Le calcul de Dictionnaire longueur en Flex
Quelle est la meilleure façon de calculer la longueur d'un objet Dictionary en Flex?
var d:Dictionary = new Dictionary();
d["a"] = "alpha";
d["b"] = "beta";
Je veux vérifier la longueur qui doit être 2 pour ce Dictionnaire. Est-il possible de le faire par d'autres qu'en parcourant les objets?
OriginalL'auteur calvinf | 2009-04-01
Vous devez vous connecter pour publier un commentaire.
Non, il n'y a aucun moyen de vérifier la longueur d'un objet(Dictionnaire est à peu près un objet qui prend en charge non-clés de Chaîne) autres qu'en parcourant les éléments.
http://www.flexer.info/2008/07/31/how-to-find-an-objects-length/
Vous n'avez probablement pas à vous soucier de vérifier si la propriété est l'une interne.
OriginalL'auteur CookieOfFortune
Il y a une util fonction dans as3corelib qui peut obtenir les clés dans le dictionnaire. Vous pouvez consulter DicitonaryUtil
La méthode est la suivante:
De sorte que vous ne getKeys(dictionnaire).longueur
OriginalL'auteur marketer
Vous pouvez utiliser les tableaux associatifs au lieu de cela, car je ne pense pas qu'il est possible de vérifier la longueur d'un objet Dictionary. Vous pouvez, toutefois, étendre le Dictionnaire de la classe et d'ajouter des fonctionnalités et de remplacer les méthodes correspondantes.
Sinon, vous pourriez en boucle à chaque fois pour obtenir la longueur qui n'est pas vraiment une bonne idée, mais est disponible.
Vous pouvez aussi chercher les ici pour plus d'informations sur l'utilisation du "setPropertyIsEnumerable" mais je crois que c'est plus utile pour les objets qu'elle ne l'est pour le Dictionnaire.
OriginalL'auteur nevets1219
Vous pourriez écrire une classe autour d'un dictionnaire qui contrôle les insertions/suppressions de sorte que vous pouvez garder une trace du nombre de clés.
Essayer l'extension proxy ou tout simplement faire un wrapper.
OriginalL'auteur tousdan
Pour toute personne tombant sur ce maintenant, il y a une mise à jour de DictionaryUtil.
Vous pouvez maintenant appeler juste..
Non, je ne. Je sais qu'il est disponible en Flex 3.5 et 4, et probablement même d'aussi loin que 3. Je viens de regarder pour cette réponse et que quelqu'un sur ici mentionné DictionaryUtil alors, j'ai fait de l'auto-complétion sur les fonctions disponibles dans il et tombé sur cette.
Je suis à l'aide de Flex 4 et ne peut pas obtenir cette API. Mais il y a DictionaryUtil.getItemCount dans la Transmission de la bibliothèque. code.google.com/p/flit/source/browse/trunk/flit/src/obecto/...
OriginalL'auteur Craig
Vous pouvez obtenir
keys
de laDictionary
et vérifier lalength
dekeys
array
comme ci-dessous:OriginalL'auteur gbdcool