Prüfen, ob Schlüssel in Objekt in JavaScript vorhanden ist
- Verwenden Sie die Element-Direktzugriffsmethode, um zu prüfen, ob der Objektschlüssel in JavaScript existiert
-
Verwenden Sie den
in
-Operator, um zu prüfen, ob der Objektschlüssel in JavaScript vorhanden ist oder nicht -
Verwenden Sie die Methode
hasOwnProperty
, um zu prüfen, ob der Objektschlüssel in JavaScript existiert oder nicht -
Verwenden Sie die
underscore
-Bibliothek, um zu prüfen, ob der Objektschlüssel in JavaScript vorhanden ist oder nicht
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
- Objekte aus einem Array in JavaScript suchen
- Holen Sie sich den Wert des Objekts durch eine Referenz auf den Schlüssel
- JavaScript-Objekt zerstören
- Objekt im Array nach Eigenschaftswert in JavaScript suchen
- Objekte in JavaScript drucken
- Sortieren Array von Objekten nach einzelnen Schlüssel mit Datum Wert