Maison  >  Article  >  interface Web  >  Méthode pour déterminer si un certain champ existe dans les données JSON dans les compétences JS_javascript

Méthode pour déterminer si un certain champ existe dans les données JSON dans les compétences JS_javascript

WBOY
WBOYoriginal
2016-05-16 16:56:312418parcourir

Comment déterminer si un certain champ existe dans les données JSON transmises ?

1.obj["key"] != undefined
Ceci est défectueux Si la clé est définie, elle sera très 2. La mission n'est pas définie, alors il y aura un problème avec cette phrase.
2.!("key" in obj)
3.obj.hasOwnProperty("key")

Ces deux méthodes sont meilleures et recommandées.

Réponse originale :

En fait, vérifier le caractère indéfini n'est pas un moyen précis de tester si une clé existe. Que se passe-t-il si la clé existe mais que la valeur est réellement indéfinie ? 🎜>var obj = { key: undefined };
obj["key"] != undefined // false, mais la clé existe !

Vous devriez plutôt utiliser l'opérateur in :

"key" dans obj // true, quelle que soit la valeur réelle

Si vous souhaitez vérifier si une clé n'existe pas, pensez à utiliser des parenthèses :

!("key " in obj) // true si "key" n'existe pas dans l'objet
!"key" in obj // ERREUR ! Equivalent à "false in obj"

Ou, si vous voulez particulièrement teste les propriétés de l'instance d'objet (et non les propriétés héritées), usehasOwnProperty :

obj.hasOwnProperty("key") // true

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn