Heim > Web-Frontend > js-Tutorial > So löschen Sie bestimmte Array-Elemente in Javascript

So löschen Sie bestimmte Array-Elemente in Javascript

醉折花枝作酒筹
Freigeben: 2023-01-07 11:44:51
Original
39511 Leute haben es durchsucht

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.

So löschen Sie bestimmte Array-Elemente in Javascript

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"]
Nach dem Login kopieren

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"]
Nach dem Login kopieren

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);
    }
});
Nach dem Login kopieren

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"]
Nach dem Login kopieren

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"]
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage