Maison > interface Web > js tutoriel > Comment puis-je vérifier de manière fiable l'existence de clés dans les objets et tableaux JavaScript ?

Comment puis-je vérifier de manière fiable l'existence de clés dans les objets et tableaux JavaScript ?

Linda Hamilton
Libérer: 2024-12-16 09:44:11
original
943 Les gens l'ont consulté

How Can I Reliably Check for Key Existence in JavaScript Objects and Arrays?

Détermination de l'existence d'une clé dans les objets JavaScript

Question :

Comment puis-je vérifier de manière fiable si une clé spécifique existe dans un Objet JavaScript ou tableau ?

Préoccupations :

  • L'accès à une clé inexistante renvoie-t-il false ou génère-t-il une erreur ?
  • La recherche d'une clé indéfinie est-elle méthode précise d'existence des clés vérification ?

Réponse :

La vérification de l'existence d'une clé à l'aide de l'opérateur non défini n'est pas recommandée car elle peut être peu fiable. Considérons le scénario suivant :

var obj = { key: undefined };
console.log(obj["key"] !== undefined); // false, but the key exists!
Copier après la connexion

Dans ce cas, la clé "key" existe dans l'objet obj, mais sa valeur n'est pas définie. Par conséquent, vérifier si obj["key"] n'est pas indéfini renvoie false.

Recommandation :

Pour vérifier de manière fiable l'existence d'une clé, utilisez la méthode hasOwnProperty() pour objets et l'opérateur in pour les tableaux et les objets :

  • Pour les objets : obj.hasOwnProperty("key") vérifie si la clé spécifiée (sous forme de chaîne) existe en tant que propriété propre de l'objet (à l'exclusion des propriétés héritées).
  • Pour les tableaux et les objets : la clé dans obj vérifie si la clé spécifiée La clé existe dans le tableau ou l'objet, y compris même les propriétés non propres (héritées des objets parents).

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal