Heim  >  Artikel  >  Web-Frontend  >  Warum gibt der „in“-Operator „True“ für „0“ in einem JavaScript-Array zurück?

Warum gibt der „in“-Operator „True“ für „0“ in einem JavaScript-Array zurück?

Linda Hamilton
Linda HamiltonOriginal
2024-10-26 04:33:30538Durchsuche

Why Does the

Warum der „in“-Operator in JavaScript „0“ in Arrays erkennt

In JavaScript prüft der „in“-Operator, ob eine Eigenschaft vorliegt oder Index existiert innerhalb eines Objekts oder Arrays. Wenn Sie damit jedoch das Vorhandensein von „0“ in einem Array testen, kann es zu einem unerwarteten Ergebnis kommen.

Fall 1: Indexprüfung

Wenn die Der „in“-Operator wird verwendet, um nach einem Index in einem Array zu suchen. Er gibt „true“ zurück, wenn der Index gültig ist, auch wenn an diesem Index kein Wert vorhanden ist. Beispielsweise existiert im Array [1,2] der Index 0, sodass 0 in x „true“ zurückgibt.

Fall 2: Wertprüfung

Wenn Sie Wenn Sie nach einem bestimmten Wert innerhalb eines Arrays suchen, liefert die Verwendung des „in“-Operators möglicherweise nicht das erwartete Ergebnis. Im Array [1,2] gibt 1 in x true zurück, da 1 als Wert vorhanden ist. Allerdings gibt 0 in x auch true zurück, auch wenn 0 nicht im Array ist.

Erklärung

Der „in“-Operator prüft tatsächlich, ob ein bestimmtes Element vorhanden ist Index oder Eigenschaft, nicht der Wert an diesem Index oder dieser Eigenschaft. Bei Arrays beginnt der Index bei 0 und reicht bis zur Länge - 1. Daher ist im Array [1,2] 0 ein gültiger Index, auch wenn an diesem Index kein Wert vorhanden ist.

Andere gültige Eigenschaften

Außerdem haben JavaScript-Arrays neben Indizes noch andere gültige Eigenschaften, wie zum Beispiel „length“ und „toString“. Der „in“-Operator gibt für diese Eigenschaften auch „true“ zurück.

Schlussfolgerung

Bei Verwendung des „in“-Operators zur Überprüfung der Existenz eines Elements in einem Array , ist es wichtig zu bedenken, dass es sich auf den Index oder Schlüssel bezieht, nicht auf den Wert. Dies kann zu unerwarteten Ergebnissen führen, wenn nach bestimmten Werten gesucht wird, beispielsweise 0.

Das obige ist der detaillierte Inhalt vonWarum gibt der „in“-Operator „True“ für „0“ in einem JavaScript-Array zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn