Maximale Elemente aus einem Array abrufen

JavaScriptJavaScriptBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir die maxN-Funktion untersuchen, die verwendet wird, um die n größten Elemente aus einem gegebenen Array zurückzugeben. Wir werden lernen, wie man Array.prototype.sort(), den Spread-Operator (...) und Array.prototype.slice() verwendet, um das Array in absteigender Reihenfolge zu sortieren und abzuschneiden und die angegebene Anzahl von Elementen zurückzugeben. Dieses Lab wird Ihnen helfen, Ihr Verständnis der Manipulation von Arrays in JavaScript zu verbessern.

Wie man in JavaScript die n größten Elemente aus einem Array bekommt

Um in JavaScript zu programmieren, öffnen Sie das Terminal/SSH und geben Sie node ein. Nachdem Sie das getan haben, können Sie die folgenden Schritte verwenden, um die n größten Elemente aus einem Array zu erhalten:

  1. Verwenden Sie Array.prototype.sort() zusammen mit dem Spread-Operator (...), um eine flache Kopie des Arrays zu erstellen und es in absteigender Reihenfolge zu sortieren.
  2. Verwenden Sie Array.prototype.slice(), um die angegebene Anzahl von Elementen zu erhalten.
  3. Wenn Sie das zweite Argument, n, weglassen, erhalten Sie standardmäßig ein Array mit einem Element.
  4. Wenn n größer als oder gleich der Länge des bereitgestellten Arrays ist, dann geben Sie das ursprüngliche Array zurück (in absteigender Reihenfolge sortiert).

Hier ist der JavaScript-Code für die maxN-Funktion, die diese Schritte implementiert:

const maxN = (arr, n = 1) => [...arr].sort((a, b) => b - a).slice(0, n);

Sie können die maxN-Funktion mit den folgenden Beispielen testen:

maxN([1, 2, 3]); // [3]
maxN([1, 2, 3], 2); // [3, 2]

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Lab zu den n größten Elementen abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.