Array anhand von Werten aufteilen

Beginner

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

Einführung

In diesem Lab werden wir untersuchen, wie man mithilfe von JavaScript ein Array anhand von gegebenen Werten in zwei Teilmengen aufteilt. Das Lab zeigt, wie man die Methoden Array.prototype.reduce() und Array.prototype.push() verwendet, um Elemente anhand eines gegebenen Filters zwei Gruppen hinzuzufügen. Am Ende dieses Labs werden Sie ein besseres Verständnis dafür haben, wie man in JavaScript Arrays manipuliert.

Funktion zum Teilen eines Arrays in zwei Gruppen

Um diese Funktion zu verwenden, um ein Array anhand von Werten in zwei Gruppen aufzuteilen, 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 die bifurcate()-Funktion, die die Werte anhand des Ergebnisses des gegebenen filter-Arrays in zwei Gruppen aufteilt.
  3. Um die Funktion zu implementieren, verwenden Sie Array.prototype.reduce() und Array.prototype.push(), um Elemente den Gruppen hinzuzufügen, basierend auf dem filter-Array.
  4. Wenn filter für irgendein Element einen wahren Wert hat, fügen Sie es der ersten Gruppe hinzu; andernfalls fügen Sie es der zweiten Gruppe hinzu.

Hier ist der Code für die bifurcate()-Funktion:

const bifurcate = (arr, filter) =>
  arr.reduce(
    (acc, val, i) => (acc[filter[i] ? 0 : 1].push(val), acc),
    [[], []]
  );

Sie können die bifurcate()-Funktion mit einem Array von Werten und einem entsprechenden Filter-Array aufrufen, um die Werte in zwei Gruppen aufzuteilen. Beispiel:

bifurcate(["beep", "boop", "foo", "bar"], [true, true, false, true]);
// [ ['beep', 'boop', 'bar'], ['foo'] ]

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Lab "Bifurcate Array Based on Values" abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.