J'ai un dictionnaire avec des objets comme clés. Comment puis-je vérifier si un objet spécifique est disponible dans le dictionnaire?Vérifier si une clé est disponible dans Flex
Répondre
var b:Dictionary = new Dictionary();
if(b[key] != null) {
}
Vous pouvez utiliser la syntaxe de tableau et si la valeur est nulle,
assertTrue(myDict["key"] == null)
Si les valeurs NULL sont autorisées des valeurs, utilisez la méthode hasOwnProperty.
assertTrue(myDict.hasOwnProperty("key")==true)
Adobe, pourquoi n'avez-vous pas une fonction keyExists()?
+1 pour 'hasOwnProperty'. Très précieux. –
hasOwnProperty fonctionne lorsque la clé est une chaîne mais ne fonctionne pas si elle est un objet –
hasOwnProperty ne fonctionnera pas si la clé est un objet plutôt qu'une chaîne. Vérifier que la valeur est nulle ne fonctionnera pas si la clé est dans le dictionnaire, mais avec une valeur nulle.
L'opérateur 'in' semble fonctionner tout le temps.
var d:Dictionary = new Dictionary();
var a:Object = new Object();
d[a] = 'foo';
var b:Object = new Object();
d[b] = null;
var c:Object = new Object();
trace(a in d);
trace(b in d);
trace(c in d);
Retours
true
true
false
Je crois que c'est une réponse 'plus correcte' que celui affiché ci-dessus.
La façon la plus appropriée est de comparer la valeur retournée avec undefined
:
if (dict["key"] !== undefined)
{
// do code when value does exist
}
comme une clé avec une valeur associée null
pourrait exister dans un dictionnaire.
Here est un bon article qui explique le sujet.
Vous pouvez utiliser in
pour vérifier les clés existantes:
if ('key' in dict)
{
// do something
}
Il fonctionne avec des clés d'objet ainsi:
if (obj in dict)
{
// do something
}
Notez que « obj » doit être un objet existant (défini ou non) ou il ne compilera pas. Que se passe-t-il si j'ai explicitement défini b [clé] = null;
- 1. comment vérifier si CLLocationCoordinate2DIsValid est disponible?
- 2. WP7 vérifier si internet est disponible
- 3. Comment vérifier si la connexion est disponible (iphone)?
- 4. Pour vérifier si la session est disponible ou non
- 5. Comment vérifier si un service Web est disponible avec .NET
- 6. Vérifier si le nom d'utilisateur est disponible avec AJAX
- 7. Comment vérifier si une clé existe dans un enregistrement?
- 8. Comment vérifier si une connexion Internet est disponible dans Silverlight OOB
- 9. Vérifiez si la valeur est disponible dans une liste ou non avec valeur disponible
- 10. Comment détecter si une page Web distante est disponible
- 11. Détermine si une fonction est disponible dans un module Python
- 12. déterminer si une clé est présente dans un dictionnaire
- 13. Comment puis-je vérifier si un caractère est une clé valide dans VB.NET?
- 14. Comment vérifier si la clé est une valeur non enregistrée dans NHibernate
- 15. Comment puis-je vérifier si une bibliothèque (dll) est disponible en C#?
- 16. vérifier si une clé de Registre existe avec WScript
- 17. Comment vérifier si une session est invalide
- 18. vérifier si une chaîne est un double
- 19. Comment puis-je vérifier si la carte SIM est disponible dans un appareil Android?
- 20. dans Flex, comment vérifier si un composant existe ou pas
- 21. Existe-t-il un moyen de vérifier si une clé de registre Windows est volatile (REG_OPTION_VOLATILE)?
- 22. Vérifier si l'entité NHibernate est contenue dans plusieurs entités
- 23. Dans Emacs Lisp, comment vérifier si une variable est définie?
- 24. Comment vérifier si une image est chargée dans silverlight
- 25. Comment vérifier si une DropDownList est initialisée dans ASP.NET?
- 26. alternative à vérifier, si une valeur est dans un ensemble
- 27. Vérifier si une date est dans le futur
- 28. Comment vérifier si une valeur est un entier dans MySQL?
- 29. Vérifier si un élément est dans une séquence
- 30. Comment vérifier si une chaîne est vide dans Emacs Lisp?
Dans ce cas, la clé est disponible dans le dictionnaire, mais elle a une valeur nulle? – user297159