it-swarm.com.de

Prüfen, ob ein Schlüssel in einem JS-Objekt vorhanden ist

Ich habe das folgende JavaScript-Objekt:

var obj = {
    "key1" : val,
    "key2" : val,
    "key3" : val
}

Gibt es eine Möglichkeit, zu überprüfen, ob ein Schlüssel im Array vorhanden ist, ähnlich wie dieser?

testArray = jQuery.inArray("key1", obj);

funktioniert nicht.

Muss ich das obj so durchlaufen?

jQuery.each(obj, function(key,val)){}
64
user2065483

Verwenden Sie den Operator in :

testArray = 'key1' in obj;

Randnotiz: Was Sie dort bekommen, ist eigentlich kein jQuery-Objekt, sondern nur ein einfaches JavaScript-Objekt.

137
Sirko

Das ist kein jQuery-Objekt, es ist nur ein Objekt.

Sie können die hasOwnProperty-Methode verwenden, um nach einem Schlüssel zu suchen:

if (obj.hasOwnProperty("key1")) {
  ...
}
40
Guffa
var obj = {
    "key1" : "k1",
    "key2" : "k2",
    "key3" : "k3"
};

if ("key1" in obj)
    console.log("has key1 in obj");

================================================== =========================

Zugriff auf einen untergeordneten Schlüssel eines anderen Schlüssels

var obj = {
    "key1": "k1",
    "key2": "k2",
    "key3": "k3",
    "key4": {
        "keyF": "kf"
    }
};

if ("keyF" in obj.key4)
    console.log("has keyF in obj");
6
Fernando_Jr

Die obigen Antworten sind gut. Aber das ist auch gut und nützlich.

!obj['your_key']  // if 'your_key' not in obj the result --> true

Es ist gut für kurze Art des Codes, der in if-Anweisungen speziell ist:

if (!obj['your_key']){
    // if 'your_key' not exist in obj
    console.log('key not in obj');
} else {
    // if 'your_key' exist in obj
    console.log('key exist in obj');
}

Hinweis: Wenn Ihr Schlüssel gleich "null" ist oder Ihre "if" - Anweisung falsch ist.

obj = {'a': '', 'b': null, 'd': 'value'}
!obj['a']    // result ---> true
!obj['b']    // result ---> true
!obj['c']    // result ---> true
!obj['d']    // result ---> false

So überprüfen Sie am besten, ob ein Schlüssel in einem Objekt vorhanden ist: 'a' in obj

2
Ali Hallaji

map.has(key) ist das neueste ECMAScript 6 So prüfen Sie das Vorhandensein eines Schlüssels in einer Karte. Siehe für vollständige Details.

1
Diablo

der einfachste Weg ist

const obj = {
  a: 'value of a',
  b: 'value of b',
  c: 'value of c'
};

if(obj.a){
  console.log(obj.a);
}else{
  console.log('obj.a does not exist');
}

0
Khan