Prüfen, ob Schlüssel in Objekt in JavaScript vorhanden ist

Moataz Farid 12 Oktober 2023
  1. Verwenden Sie die Element-Direktzugriffsmethode, um zu prüfen, ob der Objektschlüssel in JavaScript existiert
  2. Verwenden Sie den in-Operator, um zu prüfen, ob der Objektschlüssel in JavaScript vorhanden ist oder nicht
  3. Verwenden Sie die Methode hasOwnProperty, um zu prüfen, ob der Objektschlüssel in JavaScript existiert oder nicht
  4. Verwenden Sie die underscore-Bibliothek, um zu prüfen, ob der Objektschlüssel in JavaScript vorhanden ist oder nicht
Prüfen, ob Schlüssel in Objekt in JavaScript vorhanden ist

In diesem Tutorial werden wir lernen, wie zu prüfen, ob der Schlüssel existiert in JavaScript mit mehreren Möglichkeiten.

Verwenden Sie die Element-Direktzugriffsmethode, um zu prüfen, ob der Objektschlüssel in JavaScript existiert

Wenn ein Schlüssel existiert, sollte er nicht undefined zurückgeben. Um zu prüfen, ob er undefined zurückgibt oder nicht, haben wir direkten Zugriff auf die Schlüssel, und das kann auf zwei Arten geschehen, im Stil von Object und im Stil von Klammerzugriff.

Im folgenden Beispiel zeigen wir, wie man durch direkten Zugriff auf den Schlüssel mit dem Stil Klammern prüfen kann, ob der Schlüssel existiert.

let myObject = {'mykey1': 'My Value 1', 'mykey2': 'My Value 2'};

function isKeyExists(obj, key) {
  if (obj[key] == undefined) {
    return false;
  } else {
    return true;
  }
}
let result0 = isKeyExists(myObject, 'mykey0')
console.log('Check for the non-existing key, is key exists > ' + result0)

let result1 = isKeyExists(myObject, 'mykey1')
console.log('Check for the existing key, is key exists > ' + result1)

Ausgabe:

Check for the non-existing key, is key exists > false
Check for the existing key, is key exists > true

Der andere Stil, um durch direkten Zugriff auf den Schlüssel zu prüfen, ist die Verwendung des Objektstils. Im folgenden Beispiel sehen wir, wie man die Existenz des Schlüssels in JavaScript überprüfen kann.

let myObject = {mykey1: 'My Value 1', mykey2: 'My Value 2'};

let result = myObject.mykey0 != undefined
console.log('Is myKey0 exists ? ' + result)

let result1 = myObject.mykey1 != undefined
console.log('Is myKey1 exists ? ' + result1)

Ausgabe:

Is myKey0 exists ? false
Is myKey1 exists ? true

Einer der Nachteile der Prüfung auf undefined durch direkten Schlüsselzugriff ist, dass der Wert des Schlüssels gleich undefined sein kann. Das folgende Beispiel soll das Problem mit dieser Methode verdeutlichen.

let myObject = {mykey0: undefined, mykey1: 'My Value 1'};

let result = myObject.mykey0 != undefined
console.log('Is myKey0 exists? ' + result)

let result1 = myObject.mykey1 != undefined
console.log('Is myKey1 exists? ' + result1)

Ausgabe:

Is myKey0 exists? false
Is myKey1 exists? true

Die Lösung für den obigen Fall ist, einer Eigenschaft niemals undefined zuzuweisen, wenn Sie sie mit einem undefinierten Wert initialisieren wollen, sondern sie stattdessen mit null zu initialisieren.

Wenn wir darauf bestehen, den Wert undefined zur Initialisierung zu verwenden, sollten wir den in-Operator, die Methode hasOwnProperty oder die Methode underscore der Bibliothek _.has verwenden.

Verwenden Sie den in-Operator, um zu prüfen, ob der Objektschlüssel in JavaScript vorhanden ist oder nicht

Der in-Operator wird einfach verwendet, um false zurückzugeben, wenn der Schlüssel im Zielobjekt nicht gefunden wurde und gibt true zurück, wenn er gefunden wurde.

let myObject =
    {favoriteDish: 'Spaghetti', language: 'English'}

    function isKeyExists(obj, key) {
      return key in obj;
    }

    console.log(
        'Does language key exists? ' + isKeyExists(myObject, 'language'))
console.log(
    'Does nationality key exists? ' + isKeyExists(myObject, 'nationality'))

Ausgabe:

Does language key exists? true
Does nationality key exists? false

Verwenden Sie die Methode hasOwnProperty, um zu prüfen, ob der Objektschlüssel in JavaScript existiert oder nicht

Eine weitere Möglichkeit zu prüfen, ob das Objekt einen bestimmten Property-Schlüssel enthält oder nicht, ist die Verwendung der Methode hasOwnProperty. Im folgenden Beispiel zeigen wir, wie wir die Methode hasOwnProperty verwenden können.

let myObject =
    {favoriteDish: 'Spaghetti', language: 'English'}

    function isKeyExists(obj, key) {
      return obj.hasOwnProperty(key);
    }

    console.log(
        'Does the object have language key? ' +
        isKeyExists(myObject, 'language'))
console.log(
    'Does the object have nationality key? ' +
    isKeyExists(myObject, 'nationality'))

Ausgabe:

Does the object have language key? true
Does the object have nationality key? false

Verwenden Sie die underscore-Bibliothek, um zu prüfen, ob der Objektschlüssel in JavaScript vorhanden ist oder nicht

Wenn wir bereits eine der Methoden der underscore-Bibliothek verwenden, können wir die Methode _.has() verwenden, da sie true zurückgibt, wenn das Objekt den angegebenen Schlüssel hat und false, wenn nicht.

let myObject =
    {favoriteDish: 'Spaghetti', language: 'English'}

    console.log(
        'Check using underscore library if the object has language key? ' +
        _.has(myObject, 'language'))

console.log(
    'Check using underscore library if the object has nationality key? ' +
    _.has(myObject, 'nationality'))

Ausgabe:

Check using underscore library if the object has language key? true
Check using underscore library if the object has nationality key? false

Wir können die Bibliothek von hier importieren.

Verwandter Artikel - JavaScript Object