Löschen von Array-Elementen in JavaScript: Löschen vs. Spleißen
Bei der Arbeit mit Arrays in JavaScript müssen häufig Elemente entfernt werden. Zwei Methoden, die hierfür verwendet werden können, sind der Löschoperator und die Array.splice-Methode. Während beide das Ziel des Löschens eines Elements erreichen können, unterscheiden sie sich erheblich in ihrer Implementierung und ihren Auswirkungen.
Löschoperator
Der Löschoperator löscht die Eigenschaft eines Objekts oder Array am angegebenen Index. Im Gegensatz zu einem Objekt ist ein Array jedoch ein besonderer Objekttyp, der seine Indizes verfolgt. Wenn ein Element über den Löschoperator aus einem Array gelöscht wird, wird es nicht automatisch neu indiziert oder die Länge des Arrays angepasst.
Betrachten Sie das Beispiel:
const myArray = ['a', 'b', 'c', 'd']; delete myArray[1];
Nachdem Sie diesen Code ausgeführt haben, Die Eigenschaft „myArray[1]“ wird gelöscht, aber das Array hat immer noch eine Länge von 4. Das gelöschte Element wird in den Chrome-Entwicklungstools als „leer“ markiert, was den Eindruck erweckt, dass es auf „leer“ gesetzt wurde undefiniert. Dies ist jedoch nicht der Fall; die Eigenschaft fehlt einfach im Array.
Array.splice-Methode
Die Array.splice-Methode hingegen entfernt tatsächlich das Element aus dem Array, Indiziert nachfolgende Elemente neu und aktualisiert die Länge des Arrays.
Berücksichtigen Sie Folgendes Beispiel:
const myArray = ['a', 'b', 'c', 'd']; myArray.splice(1, 1);
In diesem Fall wird das Element am Index 1 (das den Wert „b“ hat) aus dem Array entfernt. Die verbleibenden Elemente werden neu indiziert und die Länge des Arrays wird auf 3 reduziert.
Wann Löschen oder Spleißen verwendet werden sollte
Aufgrund ihres Verhaltens wird dies allgemein empfohlen um die Array.splice-Methode zum Löschen von Array-Elementen zu verwenden. Der Löschoperator kann zu Verwirrung führen, da er leere Slots im Array hinterlässt, was möglicherweise nicht das gewünschte Verhalten ist. Die Spleißmethode hingegen bietet eine sauberere und intuitivere Möglichkeit, Elemente zu entfernen und gleichzeitig die korrekte Struktur und Länge des Arrays beizubehalten.
Das obige ist der detaillierte Inhalt vonLöschen vs. Spleißen: Welche JavaScript-Methode sollten Sie zum Entfernen von Array-Elementen verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!