Heim  >  Artikel  >  Web-Frontend  >  So löschen Sie Array-Elemente in Javascript

So löschen Sie Array-Elemente in Javascript

coldplay.xixi
coldplay.xixiOriginal
2021-04-06 14:56:219700Durchsuche

So löschen Sie Array-Elemente in JavaScript: 1. Verwenden Sie das Längenattribut; 3. Verwenden Sie die Stapelmethode [pop()] 5. Verwenden Sie [splice( )】Vorgehensweise.

So löschen Sie Array-Elemente in Javascript

Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, DELL G3-Computer.

So löschen Sie Array-Elemente in JavaScript:

1. Längenattribut

Das Längenattribut von Array in JavaScript ist sehr einzigartig – es ist nicht schreibgeschützt. Daher können Sie diese Eigenschaft festlegen, um Elemente vom Ende des Arrays zu entfernen oder neue Elemente hinzuzufügen.

var colors = ["red", "blue", "grey"]; // 创建一个包含3个字符串的数组
colors.length = 2;
console.log(colors[2]); // undefined

2. Schlüsselwort „delete“

JavaScript stellt ein Schlüsselwort „delete“ zum Löschen (Löschen) von Array-Elementen bereit.

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.

3. pop()-Stack-Methode

Das Array-Objekt in JavaScript stellt eine pop()-Stack-Methode zum Öffnen und Zurückgeben des letzten Elements im Array bereit, die in gewissem Umfang zum Löschen verwendet werden kann.

Die Zugriffsregel der Stapeldatenstruktur lautet FILO (First In Last Out). Die Stapeloperation fügt Elemente oben auf dem Stapel hinzu und entfernt Elemente oben auf dem Stapel. Verwenden Sie die Methode pop(), die entfernt werden kann Das letzte Element im Array wird zurückgegeben und die Länge des Arrays wird um eins verringert.

var colors = ["red", "blue", "grey"];
var color = colors.pop();
console.log(color); // "grey"
console.log(colors.length); // 2

Es ist ersichtlich, dass das Array beim Aufruf der Methode pop() das letzte Element zurückgibt, das „grau“ ist, und nur noch zwei Elemente im Array vorhanden sind.

4. Warteschlangenmethode „shift()“

Das Array-Objekt in JavaScript stellt eine Warteschlangenmethode „shift()“ zum Öffnen und Zurückgeben des ersten Elements im Array bereit, die in gewissem Umfang auch zum Löschen verwendet werden kann.

Die Zugriffsregel der Warteschlangendatenstruktur ist FIFO (First In First Out). Die Warteschlange fügt Elemente am Ende der Liste hinzu und entfernt Elemente vom Anfang der Liste. Verwenden Sie die Methode „shift()“, mit der Elemente entfernt werden können aus dem Array wird das erste Element zurückgegeben und die Länge des Arrays wird um eins verringert.

var colors = ["red", "blue", "grey"];
var color = colors.shift();
console.log(color); // "red"
console.log(colors.length); // 2

Es ist ersichtlich, dass das Array beim Aufruf der Shift()-Methode das erste Element zurückgibt, das „rot“ ist, und dass nur noch zwei Elemente im Array übrig sind.

5. splice()-Operationsmethode

Das Array-Objekt in JavaScript stellt eine splice()-Methode zum Ausführen spezifischer Operationen am Array bereit. 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.

6. 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). Es wird davon ausgegangen, dass der Zweck der Löschung bestimmter Elemente erreicht wird.

7. Prototyp-Prototyp-Methode

Sie können den Zweck des Löschens erreichen, indem Sie dem Prototyp des Arrays eine Methode hinzufügen.

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 besteht eigentlich darin, 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 in einer bestimmten Implementierung eine Methode fehlt und Sie diese Methode zum Prototyp des nativen Objekts hinzufügen, kann es zu einem Namenskonflikt kommen, 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.

Verwandte kostenlose Lernempfehlungen: Javascript(Video)

Das obige ist der detaillierte Inhalt vonSo löschen Sie Array-Elemente in Javascript. 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