Gruppieren von Daten aus mehreren 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 untersuchen, wie man Array-Elemente anhand ihrer Position in den ursprünglichen Arrays gruppiert. Wir werden die zip()-Funktion verwenden, die mehrere Arrays akzeptiert und ein neues Array zurückgibt, das Unterarrays von Elementen aus jedem Eingabearray enthält, gruppiert nach ihrer Position. Dies ist eine nützliche Technik bei der Datenverarbeitung und -analyse und kann verwendet werden, um Daten aus mehreren Quellen in eine einzelne Datenstruktur zu kombinieren, um eine weitere Analyse durchzuführen.


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/array_methods("Array Methods") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") javascript/AdvancedConceptsGroup -.-> javascript/destr_assign("Destructuring Assignment") javascript/AdvancedConceptsGroup -.-> javascript/spread_rest("Spread and Rest Operators") subgraph Lab Skills javascript/variables -.-> lab-28367{{"Gruppieren von Daten aus mehreren Arrays"}} javascript/data_types -.-> lab-28367{{"Gruppieren von Daten aus mehreren Arrays"}} javascript/arith_ops -.-> lab-28367{{"Gruppieren von Daten aus mehreren Arrays"}} javascript/comp_ops -.-> lab-28367{{"Gruppieren von Daten aus mehreren Arrays"}} javascript/array_methods -.-> lab-28367{{"Gruppieren von Daten aus mehreren Arrays"}} javascript/higher_funcs -.-> lab-28367{{"Gruppieren von Daten aus mehreren Arrays"}} javascript/destr_assign -.-> lab-28367{{"Gruppieren von Daten aus mehreren Arrays"}} javascript/spread_rest -.-> lab-28367{{"Gruppieren von Daten aus mehreren Arrays"}} end

Array-Elemente gruppieren

Um die Elemente von Arrays anhand ihrer Position in den ursprünglichen Arrays zu gruppieren, verwenden Sie die unten bereitgestellte zip-Funktion.

  • Öffnen Sie das Terminal/SSH und geben Sie node ein, um mit der Codeausführung zu beginnen.
  • Die zip-Funktion verwendet Math.max() und Function.prototype.apply(), um das längste Array in den Argumenten zu erhalten.
  • Sie erstellt ein Array mit dieser Länge als Rückgabewert und verwendet Array.from() mit einer Mapping-Funktion, um ein Array von gruppierten Elementen zu erstellen.
  • Wenn die Längen der Argument-Arrays unterschiedlich sind, wird undefined verwendet, wenn kein Wert gefunden werden kann.
const zip = (...arrays) => {
  const maxLength = Math.max(...arrays.map((x) => x.length));
  return Array.from({ length: maxLength }).map((_, i) => {
    return Array.from({ length: arrays.length }, (_, k) => arrays[k][i]);
  });
};

Beispielverwendung:

zip(["a", "b"], [1, 2], [true, false]); // [['a', 1, true], ['b', 2, false]]
zip(["a"], [1, 2], [true, false]); // [['a', 1, true], [undefined, 2, false]]

Zusammenfassung

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