Array anhand einer Funktion aufteilen

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 untersuchen, wie man in JavaScript ein Array anhand einer gegebenen Filterfunktion aufteilt. Wir werden die Array.prototype.reduce()-Methode und die Array.prototype.push()-Methode verwenden, um die Werte des Arrays in zwei Gruppen aufzuteilen, je nachdem, ob die Filterfunktion einen wahren Wert zurückgibt oder nicht. Dieses Lab ist dazu gedacht, Ihr Verständnis von höheren Funktionen und der Array-Manipulation in JavaScript zu verbessern.


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/comp_ops("Comparison Operators") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") subgraph Lab Skills javascript/variables -.-> lab-28170{{"Array anhand einer Funktion aufteilen"}} javascript/data_types -.-> lab-28170{{"Array anhand einer Funktion aufteilen"}} javascript/comp_ops -.-> lab-28170{{"Array anhand einer Funktion aufteilen"}} javascript/higher_funcs -.-> lab-28170{{"Array anhand einer Funktion aufteilen"}} end

Funktion zum Teilen eines Arrays in zwei Gruppen

Um ein Array in zwei Gruppen basierend auf dem Ergebnis einer gegebenen Funktion zu teilen, folgen Sie diesen Schritten:

  1. Öffnen Sie das Terminal/SSH und geben Sie node ein, um mit der Code-Praxis zu beginnen.
  2. Verwenden Sie die Array.prototype.reduce()- und Array.prototype.push()-Methoden, um Elemente zu den Gruppen hinzuzufügen. Dies basiert auf dem von der gegebenen Funktion fn für jedes Element zurückgegebenen Wert.
  3. Wenn fn für irgendein Element einen wahren Wert zurückgibt, fügen Sie es zur ersten Gruppe hinzu. Andernfalls fügen Sie es zur zweiten Gruppe hinzu.

Hier ist der Code:

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

Beispielsweise wird, wenn Sie bifurcateBy(['beep', 'boop', 'foo', 'bar'], x => x[0] === 'b') aufrufen, die Funktion [ ['beep', 'boop', 'bar'], ['foo'] ] zurückgeben.

Zusammenfassung

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