Maison > interface Web > js tutoriel > Comment déterminer si un certain champ existe dans les données JSON transmises dans les compétences JS_javascript

Comment déterminer si un certain champ existe dans les données JSON transmises dans les compétences JS_javascript

WBOY
Libérer: 2016-05-16 16:39:21
original
1354 Les gens l'ont consulté

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

1.obj["key"] != non défini

Ceci est défectueux. Si la clé est définie et que la valeur est très souvent indéfinie, alors il y aura un problème avec cette phrase.

2.!("clé" dans 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 = { clé : non définie};
obj["key"] != undefined // false, mais la clé existe !

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

"key" in 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) // vrai si "key" n'existe pas dans l'objet
!"key" dans obj // ERREUR ! Équivalent à "false in obj"

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

obj.hasOwnProperty("key") // vrai

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal