Stables Sortieren mit JavaScript-Arrays

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 das Konzept des stabilen Sortierens in JavaScript erkunden. Stables Sortieren ist eine Technik, die die Reihenfolge von Elementen in einem Array beibehält, wenn ihre Werte gleich sind. Wir werden eine Funktion verwenden, die die Methoden Array.prototype.map() und Array.prototype.sort() nutzt, um das stabile Sortieren eines Arrays zu implementieren.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") subgraph Lab Skills javascript/variables -.-> lab-28623{{"Stables Sortieren mit JavaScript-Arrays"}} javascript/data_types -.-> lab-28623{{"Stables Sortieren mit JavaScript-Arrays"}} javascript/arith_ops -.-> lab-28623{{"Stables Sortieren mit JavaScript-Arrays"}} javascript/comp_ops -.-> lab-28623{{"Stables Sortieren mit JavaScript-Arrays"}} javascript/higher_funcs -.-> lab-28623{{"Stables Sortieren mit JavaScript-Arrays"}} end

Stables Sortieren

Um das stabile Sortieren eines Arrays durchzuführen und die ursprünglichen Indizes von Elementen mit gleichen Werten beizubehalten, folgen Sie diesen Schritten:

  1. Öffnen Sie das Terminal/SSH und geben Sie node ein, um mit der Codeausführung zu beginnen.
  2. Verwenden Sie Array.prototype.map(), um jedes Element des Eingabearrays mit seinem entsprechenden Index zu verknüpfen.
  3. Verwenden Sie Array.prototype.sort() zusammen mit einer compare-Funktion, um die Liste zu sortieren, wobei die ursprüngliche Reihenfolge beibehalten wird, wenn die verglichenen Elemente gleich sind.
  4. Verwenden Sie Array.prototype.map() erneut, um die Arrayelemente zurück in ihre ursprüngliche Form zu konvertieren.
  5. Das ursprüngliche Array wird nicht verändert, sondern stattdessen ein neues Array zurückgegeben.

Hier ist eine Implementierung der stableSort-Funktion in JavaScript:

const stableSort = (arr, compare) =>
  arr
    .map((item, index) => ({ item, index }))
    .sort((a, b) => compare(a.item, b.item) || a.index - b.index)
    .map(({ item }) => item);

Sie können die stableSort-Funktion mit einem Array und einer compare-Funktion aufrufen, um ein neues Array mit den sortierten Elementen zu erhalten, wie unten gezeigt:

const arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const stable = stableSort(arr, () => 0); // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Lab zu stabilem Sortieren abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.