Praxisorientiertes Auswahlsort in JavaScript

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 den Auswahlsortieralgorithmus untersuchen und lernen, wie man ihn verwendet, um eine Array von Zahlen in JavaScript zu sortieren. Ziel dieses Labs ist es, Ihnen einen praxisorientierten Einblick in den Auswahlsort zu geben und Ihnen zu helfen, zu verstehen, wie er funktioniert. Am Ende dieses Labs werden Sie das Auswahlsort gut verstehen und es in zukünftigen Projekten anwenden können, um Sortierprobleme zu lösen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic 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/BasicConceptsGroup -.-> javascript/cond_stmts("Conditional Statements") javascript/BasicConceptsGroup -.-> javascript/loops("Loops") javascript/BasicConceptsGroup -.-> javascript/array_methods("Array Methods") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") javascript/AdvancedConceptsGroup -.-> javascript/spread_rest("Spread and Rest Operators") subgraph Lab Skills javascript/variables -.-> lab-28609{{"Praxisorientiertes Auswahlsort in JavaScript"}} javascript/data_types -.-> lab-28609{{"Praxisorientiertes Auswahlsort in JavaScript"}} javascript/arith_ops -.-> lab-28609{{"Praxisorientiertes Auswahlsort in JavaScript"}} javascript/comp_ops -.-> lab-28609{{"Praxisorientiertes Auswahlsort in JavaScript"}} javascript/cond_stmts -.-> lab-28609{{"Praxisorientiertes Auswahlsort in JavaScript"}} javascript/loops -.-> lab-28609{{"Praxisorientiertes Auswahlsort in JavaScript"}} javascript/array_methods -.-> lab-28609{{"Praxisorientiertes Auswahlsort in JavaScript"}} javascript/higher_funcs -.-> lab-28609{{"Praxisorientiertes Auswahlsort in JavaScript"}} javascript/spread_rest -.-> lab-28609{{"Praxisorientiertes Auswahlsort in JavaScript"}} end

Auswahlsortieralgorithmus

Um zu beginnen, den Code zu schreiben, öffnen Sie das Terminal/SSH und geben Sie node ein.

Die folgende Funktion sortiert ein Array von Zahlen mit dem Auswahlsortieralgorithmus:

const selectionSort = (arr) => {
  const a = [...arr];
  for (let i = 0; i < a.length; i++) {
    const min = a
      .slice(i + 1)
      .reduce((acc, val, j) => (val < a[acc] ? j + i + 1 : acc), i);
    if (min !== i) [a[i], a[min]] = [a[min], a[i]];
  }
  return a;
};

Um die Funktion zu verwenden, übergeben Sie ein Array von Zahlen an selectionSort(), wie folgt:

selectionSort([5, 1, 4, 2, 3]); // [1, 2, 3, 4, 5]

Die Funktion funktioniert, indem sie das ursprüngliche Array mit dem Spread-Operator (...) klont. Anschließend iteriert sie über das Array mit einer for-Schleife. Mit Array.prototype.slice() und Array.prototype.reduce() findet sie den Index des kleinsten Elements im Teilarray rechts vom aktuellen Index. Wenn erforderlich, führt sie einen Tausch durch.

Zusammenfassung

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