Zum Hauptinhalt springen

Wie bekomme ich ein Array von eindeutigen Werten aus doppelten numerischen Werten in JavaScript

Das Arbeiten mit Arrays ist ein wesentlicher Bestandteil der JavaScript-Programmierung. Eine der häufigsten Aufgaben besteht darin, eindeutige Werte aus einem Array zu erhalten. Eindeutige Werte sind Werte, die nur einmal in einem Array vorkommen.

Es gibt mehrere Möglichkeiten, dieses Problem zu lösen. Eine einfache und effektive Methode besteht darin, ein Objekt als temporären Speicher für eindeutige Werte zu verwenden. Bei jeder Iteration prüfen wir, ob das aktuelle Array-Element bereits im Objekt vorhanden ist. Wenn das Element nicht gefunden wird, fügen wir es dem Objekt hinzu. Als Ergebnis haben wir ein Objekt, das nur eindeutige Werte enthält, die wir leicht in ein Array umwandeln können.

Eine andere Möglichkeit, eindeutige Werte aus einem Array zu erhalten, besteht darin, eine Methode zu verwenden filter(). Methode filter() akzeptiert eine Callback-Funktion, die auf jedes Element im Array angewendet wird. Innerhalb einer Funktion können wir überprüfen, ob ein Element nur einmal in einem Array vorkommt, und es herausfiltern, wenn es nicht eindeutig ist. Als Ergebnis erhalten wir ein neues Array, das nur eindeutige Werte enthält.

In diesem Artikel werden wir uns diese beiden Methoden ansehen und zeigen, wie Sie sie verwenden, um eindeutige Werte aus einem Array in JavaScript abzurufen. Lassen Sie uns die Codebeispiele analysieren und mögliche Optionen für die Optimierung von Arbeitsalgorithmen betrachten. Nachdem Sie diesen Artikel gelesen haben, haben Sie eine vollständige Vorstellung davon, wie Sie eindeutige Werte aus einem Array in JavaScript abrufen können, und können dieses Wissen in Ihrem eigenen Code anwenden.

Methoden zum Abrufen eindeutiger Werte aus einem Array in JavaScript

In JavaScript gibt es mehrere Möglichkeiten, eindeutige Werte aus einem Array zu erhalten. Betrachten wir einige von ihnen:

  • Die Methode filter(): Mit dieser Methode können Sie ein neues Array erstellen, das nur eindeutige Elemente enthält. Sie können eine Colback-Funktion an die Filter-Funktion übergeben, die auf alle Elemente des Arrays angewendet wird. Die Wurst-Funktion muss true für die Elemente zurückgeben, die in das neue Array aufgenommen werden sollen.
  • indexOf() -Methode: Mit der indexOf-Methode können Sie den Index des ersten Vorkommens eines angegebenen Elements in einem Array definieren. Wir können diese Methode verwenden, um alle Elemente zu durchlaufen und zu überprüfen, ob das Element zum ersten Mal auftritt oder nicht. Wenn das Element zum ersten Mal auftritt, fügen wir es dem neuen Array hinzu.
  • Methode Set: Ein Set ist ein Objekt, mit dem Sie eindeutige Werte eines beliebigen Datentyps speichern können. Wir können ein Array in ein Set konvertieren und dann das Set zurück in ein Array konvertieren, um eindeutige Werte zu erhalten. Beachten Sie jedoch, dass Set nicht garantiert, dass die Reihenfolge der Elemente beibehalten wird.
  • Reduce() -Methode: Mit der reduce-Methode können Sie alle Elemente eines Arrays durchlaufen und in einen einzelnen Wert konvertieren. Wir können reduce verwenden, um ein neues Array zu erstellen, das nur eindeutige Elemente enthält. In der Reduce-Funktion wird überprüft, ob ein Element in einer Array-Batterie vorkommt. Wenn das Element bereits im Array-Akku vorhanden ist, überspringen wir es, und wenn es nicht vorhanden ist, fügen wir es dem Array-Akku hinzu.

Die Auswahl einer Methode zum Abrufen eindeutiger Werte aus einem Array in JavaScript hängt von Ihrer Situation und Ihren Anforderungen ab. Verwenden Sie die Methode, die für Ihren Fall am besten geeignet ist.

Methode 1: Verwenden von Set zum Entfernen von Duplikaten

Um eindeutige Werte aus einem Array zu erhalten, können wir es in ein Set und dann zurück in ein Array konvertieren. Hier ist ein Beispiel:

let array = [1, 2, 2, 3, 4, 4, 5];let uniqueArray = Array.from(new Set(array));console.log(uniqueArray);// Output: [1, 2, 3, 4, 5]

In diesem Beispiel erstellen wir ein neues Set, indem wir das ursprüngliche Array als Argument übergeben. Dann verwenden wir die Array-Methode.from(), um Set zurück in ein Array mit eindeutigen Werten zu konvertieren.

Die Variable uniqueArray enthält jetzt nur eindeutige Werte aus dem ursprünglichen Array. Wir können dieses Array verwenden, um die Daten weiter zu verarbeiten oder anzuzeigen.

Eine wichtige Einschränkung bei der Verwendung von Set ist, dass die Reihenfolge der Elemente nicht beibehalten wird, daher kann sich die Reihenfolge der Werte in einem uniqueArray von dem ursprünglichen Array unterscheiden. Wenn Ihnen die Reihenfolge der Elemente wichtig ist, müssen Sie möglicherweise einen anderen Ansatz verwenden oder die Reihenfolge der Elemente in einem zusätzlichen Array oder Objekt beibehalten.

Methode 2: Verwenden Sie Filterung und indexOf, um eindeutige Werte abzurufen

Dazu können Sie eine Filtermethode verwenden, mit der Sie die Elemente eines Arrays basierend auf einer bestimmten Bedingung filtern können. Als Bedingung können wir die indexOf-Methode verwenden, die den Index des ersten Vorkommens eines Elements in einem Array zurückgibt. Wenn die indexOf-Methode einen Index eines Elements zurückgibt, das nicht dem aktuellen Index entspricht, bedeutet dies, dass das Element bereits im neuen Array vorhanden ist und nicht hinzugefügt werden muss.

let arr = [1, 2, 3, 4, 1, 2, 3];let uniqueArr = arr.filter((value, index, self) => );console.log(uniqueArr); // [1, 2, 3, 4]

In diesem Beispiel erstellen wir ein neues uniqueArr-Array mit der Filter-Methode, die Elemente aus dem ursprünglichen arr-Array filtert. In der Callback-Funktion überprüfen wir, ob der Index des aktuellen Elements gleich dem Index des ersten Vorkommens im ursprünglichen Array ist. Wenn diese Bedingung erfüllt ist, fügen wir dem neuen Array ein Element hinzu.

Als Ergebnis wird ein uniqueArr-Array mit eindeutigen Werten in der Konsole ausgegeben [1, 2, 3, 4].