Heim > Artikel > Web-Frontend > So löschen Sie bestimmte Array-Elemente in Javascript
Delete-Methode: 1. Verwenden Sie das Schlüsselwort delete. 3. Verwenden Sie die Iterationsmethode, um die Array-Elemente zu iterieren, und löschen Sie die Elemente, die mit denen übereinstimmen, die Sie löschen möchten .Prototyp-Prototyp-Methode, im Array Fügen Sie dem Prototyp eine Methode hinzu, um den Zweck des Löschens zu erreichen.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.
In JavaScript ist der Array-Typ (Array) neben Object wahrscheinlich der am häufigsten verwendete Typ. Arrays in JavaScript sind im Vergleich zu Arrays in anderen Sprachen sehr flexibel. Diese Art von Flexibilität hat Vor- und Nachteile. Der Vorteil besteht darin, dass sie kreativ ist und verschiedene flexible Lösungen bieten kann. Der Nachteil besteht darin, dass sie leicht hirnlos ist, weil sie tatsächlich zu flexibel ist ist unkontrollierbar und verrückt.
Nachdem wir uns zuvor über ein paar Worte lustig gemacht haben, kommen wir zurück zum Punkt. Hier sind 7 Methoden zum Löschen von Array-Elementen in JavaScript, nämlich die Verwendung des Längenattributs, des Schlüsselworts „delete“, der Stapelmethode „pop()“, der Warteschlangenmethode „shift()“ und des Spleißens () Operationsmethode, forEach()- oder filter()-Iterationsmethode und Prototyp-Prototyp-Methode.
delete-Schlüsselwort
JavaScript bietet ein delete-Schlüsselwort zum Löschen (Löschen) von Array-Elementen.
var colors = ["red", "blue", "grey", "green"];delete colors[0]; console.log(colors); // [undefined, "blue", "grey", "green"]
Es ist zu beachten, dass nach der Verwendung von delete zum Löschen eines Elements die Länge des Arrays unverändert bleibt, das gelöschte Element jedoch auf undefiniert gesetzt wird.
splice()-Operationsmethode
stellt eine splice()-Methode im Array-Objekt von JavaScript bereit, um bestimmte Operationen am Array auszuführen. splice() ist wahrscheinlich die leistungsstärkste Array-Methode. Sie kann auf viele Arten verwendet werden. Hier stellen wir nur die Methode zum Löschen von Array-Elementen vor. Beim Löschen von Array-Elementen kann eine beliebige Anzahl von Elementen gelöscht werden, indem nur zwei Parameter angegeben werden: die Position des ersten zu löschenden Elements und die Anzahl der zu löschenden Elemente.
var colors = ["red", "blue", "grey"];var color = colors.splice(0, 1); console.log(color); // "red"console.log(colors); // ["blue", "grey"]
Es ist ersichtlich, dass beim Aufruf der splice(0, 1)-Methode ein Element aus dem Array gelöscht wird, beginnend mit dem ersten Element.
Iterationsmethode
Die sogenannte Iterationsmethode besteht darin, eine Schleife zu verwenden, um die Array-Elemente zu iterieren und die Elemente zu löschen, die mit den Elementen übereinstimmen, die Sie löschen möchten. Der am häufigsten verwendete Ort ist möglicherweise, wenn die Elemente im Array Objekte sind und die Array-Elemente basierend auf einem bestimmten Attribut des Objekts (z. B. ID) gelöscht werden können.
Die erste Methode verwendet die gängigste ForEach-Schleife, um die Elemente zu vergleichen und sie zu löschen, nachdem sie gefunden wurden.
var colors = ["red", "blue", "grey"]; colors.forEach(function(item, index, arr) { if(item === "red") { arr.splice(index, 1); } });
Sie können sehen, dass die Methode splice() auch zum Löschen verwendet wird. Die Schleife dient lediglich dazu, bestimmte Elemente zu finden. Eine andere Idee besteht darin, Elemente, die nicht gelöscht werden müssen, in einer Schleife in ein neues Array zu verschieben, wodurch auch der Zweck erreicht werden kann, bestimmte Elemente fälschlicherweise zu löschen.
Bei der zweiten Möglichkeit verwenden wir die Filtermethode in der Schleife.
var colors = ["red", "blue", "grey"]; colors = colors.filter(function(item) { return item != "red"}); console.log(colors); // ["blue", "grey"]
Der Code ist sehr einfach. Ermitteln Sie die Anzahl der Elemente, deren Elemente nicht rot sind, und geben Sie sie in Farben zurück (tatsächlich erhalten Sie ein neues Array, nicht das ursprüngliche Array löschen). Zweck der Löschung bestimmter Elemente.
Prototyp-Prototyp-Methode
kann gelöscht werden, indem dem Prototyp des Arrays eine Methode hinzugefügt wird.
Array.prototype.remove = function(dx) { if(isNaN(dx) || dx > this.length){ return false; } for(var i = 0, n = 0; i < this.length; i++) { if(this[i] != this[dx]) { this[n++] = this[i]; } } this.length -= 1; };var colors = ["red", "blue", "grey"]; colors.remove(1); console.log(colors); // ["red", "grey"]
Diese Methode dient eigentlich dazu, selbst eine Löschlogik zu implementieren und dann die Löschmethode zum Array-Prototypobjekt hinzuzufügen. Dann können alle Array-Objekte in dieser Umgebung diese Methode verwenden. Obwohl dies möglich ist, wird davon abgeraten, den Prototyp eines nativen Objekts in einer Produktionsanwendung zu ändern. Der Grund ist einfach. Wenn eine Methode in einer bestimmten Implementierung fehlt, kann das Hinzufügen dieser Methode zum Prototyp des nativen Objekts zu Namenskonflikten führen, wenn der Code in einer anderen Implementierung ausgeführt wird, die diese Methode unterstützt. Dies kann dazu führen, dass native Methoden versehentlich überschrieben werden.
【Empfohlenes Lernen: Javascript-Tutorial für Fortgeschrittene】
Das obige ist der detaillierte Inhalt vonSo löschen Sie bestimmte Array-Elemente in Javascript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!