Eindeutige Werte in einem Array basierend auf einer Funktion

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 eine JavaScript-Funktion untersuchen, die hilft, alle einzigartigen Werte in einem Array basierend auf einer bereitgestellten Vergleichsfunktion zu finden. Wir werden die Methoden Array.prototype.reduce() und Array.prototype.some() verwenden, um ein neues Array zu erstellen, das nur das erste einzigartige Vorkommen jedes Werts enthält, basierend auf der bereitgestellten Vergleichsfunktion. Dieses Lab wird Ihnen ein tieferes Verständnis davon vermitteln, wie man in JavaScript Arrays manipuliert.


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/obj_manip("Object Manipulation") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") subgraph Lab Skills javascript/variables -.-> lab-28335{{"Eindeutige Werte in einem Array basierend auf einer Funktion"}} javascript/data_types -.-> lab-28335{{"Eindeutige Werte in einem Array basierend auf einer Funktion"}} javascript/arith_ops -.-> lab-28335{{"Eindeutige Werte in einem Array basierend auf einer Funktion"}} javascript/comp_ops -.-> lab-28335{{"Eindeutige Werte in einem Array basierend auf einer Funktion"}} javascript/cond_stmts -.-> lab-28335{{"Eindeutige Werte in einem Array basierend auf einer Funktion"}} javascript/obj_manip -.-> lab-28335{{"Eindeutige Werte in einem Array basierend auf einer Funktion"}} javascript/higher_funcs -.-> lab-28335{{"Eindeutige Werte in einem Array basierend auf einer Funktion"}} end

Das Finden von einzigartigen Werten in einem Array mit einer Funktion

Um alle einzigartigen Werte eines Arrays zu finden, muss eine Vergleichsfunktion bereitgestellt werden.

Verwenden Sie Array.prototype.reduce() und Array.prototype.some(), um ein Array zu erstellen, das nur das erste einzigartige Vorkommen jedes Werts enthält. Die Vergleichsfunktion fn nimmt zwei Argumente, die Werte der beiden zu vergleichenden Elemente.

const uniqueElementsBy = (arr, fn) =>
  arr.reduce((acc, v) => {
    if (!acc.some((x) => fn(v, x))) acc.push(v);
    return acc;
  }, []);

Um die Funktion zu testen, verwenden Sie das folgende Beispiel:

uniqueElementsBy(
  [
    { id: 0, value: "a" },
    { id: 1, value: "b" },
    { id: 2, value: "c" },
    { id: 1, value: "d" },
    { id: 0, value: "e" }
  ],
  (a, b) => a.id == b.id
); // [ { id: 0, value: 'a' }, { id: 1, value: 'b' }, { id: 2, value: 'c' } ]

Beginnen Sie mit der Praxis des Codierens, indem Sie das Terminal/SSH öffnen und node eingeben.

Zusammenfassung

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