Heim  >  Artikel  >  Web-Frontend  >  Der Javascript-Array-Prototyp löscht dieselben Elemente im Array

Der Javascript-Array-Prototyp löscht dieselben Elemente im Array

PHPz
PHPzOriginal
2023-05-21 11:22:37381Durchsuche

In JavaScript ist ein Array eine sehr häufig verwendete Datenstruktur, und es ist häufig erforderlich, eine Reihe von Vorgängen wie Hinzufügen, Löschen, Ändern und Abfragen für das Array auszuführen. In der tatsächlichen Entwicklung kann es vorkommen, dass wir dieselben Elemente in einem Array löschen müssen. In diesem Artikel wird hauptsächlich erläutert, wie Sie mit dem Prototyp des Arrays dieselben Elemente im Array löschen.

1. Array-Prototyp

In JavaScript hat jedes Objekt einen Prototyp. Ein Prototyp ist eine Eigenschaft eines Objekts, die auf ein anderes Objekt verweist, das gemeinsame Eigenschaften und Methoden enthält. Wenn wir auf eine Eigenschaft eines Objekts zugreifen und das Objekt selbst nicht über diese Eigenschaft verfügt, sucht die JavaScript-Engine im Prototypobjekt nach dieser Eigenschaft. Einfach ausgedrückt ist ein Prototyp ein Objekt, das zum Teilen von Eigenschaften und Methoden verwendet wird.

Ein Array ist auch ein Objekt, daher hat es auch einen Prototyp. In JavaScript ist der Prototyp eines Arrays Array.prototype. Dieses Prototypobjekt enthält viele nützliche Methoden wie Push, Pop, Shift, Unshift, Slice, Splice usw.

Wir können den Array-Prototyp über den folgenden Code anzeigen:

console.log(Array.prototype);

Das Ausgabeergebnis lautet wie folgt:

[constructor: ƒ, concat: ƒ, copyWithin: ƒ, fill: ƒ, find: ƒ, …]

2. Verwenden Sie den Array-Prototyp, um dieselben Elemente im Array zu löschen.

In JavaScript gibt es viele Möglichkeiten dazu Löschen Sie dieselben Elemente im Array. Wir können Filter, Reduce, forEach und andere Methoden verwenden, um dies zu erreichen. Das Löschen identischer Elemente aus einem Array lässt sich jedoch prägnanter umsetzen, indem die Methoden im Array-Prototyp geändert werden.

Die folgende Funktion löscht dieselben Elemente im Array. Diese Funktion verwendet die Methoden indexOf und splice im Array-Prototyp:

Array.prototype.unique = function() {
  for (var i = 0; i < this.length; i++) {
    var index = this.indexOf(this[i], i + 1);
    if (index > -1) {
      this.splice(index, 1);
      i--;
    }
  }
  return this;
}

var arr = [1, 2, 2, 3, 3, 3, 4];
arr.unique(); // [1, 2, 3, 4]

Im obigen Code fügen wir dem Array-Prototyp zunächst eine eindeutige Methode hinzu, um die zu löschen Array. Gleiche Elemente. Dann verwenden wir in der Funktion eine for-Schleife, um das Array zu durchlaufen, und für jedes Element verwenden wir die indexOf-Methode, um herauszufinden, ob in den folgenden Elementen dieselben Elemente vorhanden sind. Wenn dasselbe Element gefunden wird, verwenden Sie die Splice-Methode, um das Element aus dem Array zu entfernen und den Zähler i um 1 zu verringern, um zu verhindern, dass nachfolgende Elemente übersprungen werden.

Schließlich geben wir das Array zurück, nachdem wir doppelte Elemente entfernt haben. Wie Sie sehen, ist diese Methode sehr einfach und leicht zu verstehen und kann effektiv dieselben Elemente im Array löschen.

3. Zusammenfassung

In diesem Artikel wird hauptsächlich die Verwendung des JavaScript-Array-Prototyps zum Löschen derselben Elemente im Array vorgestellt. Durch Modifizieren der Prototypenmethode können wir diese Funktion prägnanter implementieren und so die Entwicklungseffizienz verbessern. Natürlich sollten wir in der tatsächlichen Entwicklung auch die am besten geeignete Methode zum Betreiben von Arrays entsprechend der jeweiligen Situation auswählen, um die Effizienz und Leistung der Codeausführung zu verbessern.

Das obige ist der detaillierte Inhalt vonDer Javascript-Array-Prototyp löscht dieselben Elemente im Array. 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