Durch Übungen die Grundlagen von JavaScript erkunden

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 Grundlagen der JavaScript-Programmierung erkunden. Durch eine Reihe von Übungen und Herausforderungen werden wir Themen wie Variablen, Datentypen, Funktionen, Kontrollstrukturen und mehr behandeln. Am Ende dieses Labs werden Sie das JavaScript-Syntax gut verstehen und in dieser vielseitigen Programmiersprache grundlegende Programme schreiben können.

Quick Sort-Algorithmus

Um zu üben, öffnen Sie das Terminal/SSH und geben Sie node ein. Dieser Algorithmus sortiert ein Array von Zahlen mithilfe des Quicksort-Algorithmus. Hier sind die Schritte, die Sie zu befolgen haben:

  • Verwenden Sie Rekursion.
  • Verwenden Sie den Spread-Operator (...), um das ursprüngliche Array, arr, zu klonen.
  • Wenn die length des Arrays kleiner als 2 ist, geben Sie das klonierte Array zurück.
  • Verwenden Sie Math.floor(), um den Index des Pivot-Elements zu berechnen.
  • Verwenden Sie Array.prototype.reduce() und Array.prototype.push(), um das Array in zwei Teilarrays zu teilen. Das erste enthält Elemente, die kleiner oder gleich pivot sind, und das zweite enthält Elemente, die größer als es sind. Zerlegen Sie das Ergebnis in zwei Arrays.
  • Rufen Sie quickSort() rekursiv auf den erstellten Teilarrays auf.

Hier ist ein Beispiel, wie Sie diesen Algorithmus implementieren können:

const quickSort = (arr) => {
  const a = [...arr];
  if (a.length < 2) return a;
  const pivotIndex = Math.floor(arr.length / 2);
  const pivot = a[pivotIndex];
  const [lo, hi] = a.reduce(
    (acc, val, i) => {
      if (val < pivot || (val === pivot && i != pivotIndex)) {
        acc[0].push(val);
      } else if (val > pivot) {
        acc[1].push(val);
      }
      return acc;
    },
    [[], []]
  );
  return [...quickSort(lo), pivot, ...quickSort(hi)];
};

Um es zu testen, führen Sie den folgenden Befehl aus:

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

Zusammenfassung

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