Heim >Web-Frontend >js-Tutorial >Wie wirken sich Eigenschaftszuweisungen auf die Länge des JavaScript-Arrays aus?
Array-Anomalien: Eigenschaften vs. Elemente
In JavaScript erstreckt sich die Vielseitigkeit von Objekten auch auf Arrays. Dieses merkwürdige Phänomen entsteht durch die Tatsache, dass Arrays vom Object-Prototyp erben. Dadurch können Arrays manipuliert werden, als wären sie Objekte.
Eigenschaftszuweisung in Arrays
Beachten Sie die folgenden Codeausschnitte:
var myArray = Array(); myArray['A'] = "Athens"; myArray['B'] = "Berlin";
und
var myObject = {'A': 'Athens', 'B':'Berlin'};
Diese Codeschnipsel erscheinen beim Erstellen gleichwertig Objekte mit benannten Eigenschaften. Es besteht jedoch ein grundlegender Unterschied zwischen ihnen.
Fallstricke des Eigentumsmissbrauchs
Arrays können zwar als Objekte behandelt werden, es ist jedoch wichtig zu beachten, dass Arrays in erster Linie bestimmungsgemäß sind für numerisch indizierte Daten. Das Zuweisen nicht numerischer Schlüssel zu einem Array kann zu unerwartetem Verhalten führen.
Bedenken Sie beispielsweise Folgendes:
var myArray = Array(); myArray['A'] = "Athens"; myArray['B'] = "Berlin"; alert(myArray.length);
Anstatt „2“ (die erwartete Anzahl von Elementen) anzuzeigen, Die Warnung zeigt „0“ an. Dies liegt daran, dass die nicht numerischen Tasten ('A' und 'B') die Längeneigenschaft des Arrays nicht erhöhen, die die Anzahl der numerisch indizierten Elemente verfolgt.
Zusammenfassend lässt sich sagen, dass das Hinzufügen praktisch erscheinen mag Bei der Verknüpfung benannter Eigenschaften mit Arrays sollte diese Praxis vermieden werden, da sie den Zweck von Arrays untergräbt und zu unerwartetem Verhalten führen kann. Für nicht numerische Tasten wird empfohlen, stattdessen ein reines Objekt zu verwenden.
Das obige ist der detaillierte Inhalt vonWie wirken sich Eigenschaftszuweisungen auf die Länge des JavaScript-Arrays aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!