Objekt-Eigenschaften mit JavaScript transformieren

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 transform-Funktion in JavaScript erkunden, mit der wir eine bestimmte Funktion auf einen Akkumulator und jede Schlüssel in einem Objekt anwenden können. Mit Object.keys() und Array.prototype.reduce() können wir leicht über jede Schlüssel in einem Objekt iterieren und die gewünschte Transformation durchführen. Dieses Lab wird praktische Erfahrungen mit dieser nützlichen Funktion liefern und ihre praktischen Anwendungen in der JavaScript-Programmierung demonstrieren.


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/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") subgraph Lab Skills javascript/variables -.-> lab-28667{{"Objekt-Eigenschaften mit JavaScript transformieren"}} javascript/data_types -.-> lab-28667{{"Objekt-Eigenschaften mit JavaScript transformieren"}} javascript/arith_ops -.-> lab-28667{{"Objekt-Eigenschaften mit JavaScript transformieren"}} javascript/comp_ops -.-> lab-28667{{"Objekt-Eigenschaften mit JavaScript transformieren"}} javascript/array_methods -.-> lab-28667{{"Objekt-Eigenschaften mit JavaScript transformieren"}} javascript/higher_funcs -.-> lab-28667{{"Objekt-Eigenschaften mit JavaScript transformieren"}} javascript/destr_assign -.-> lab-28667{{"Objekt-Eigenschaften mit JavaScript transformieren"}} end

Objekttransformation

Um zu beginnen, das Programmieren zu üben, öffnen Sie das Terminal/SSH und geben Sie node ein.

Die transform-Funktion wendet eine bestimmte Funktion auf einen Akkumulator und jede Schlüssel im Objekt von links nach rechts an. So können Sie sie verwenden:

  • Verwenden Sie Object.keys(), um über jede Schlüssel im Objekt zu iterieren.
  • Verwenden Sie Array.prototype.reduce(), um die angegebene Funktion auf den angegebenen Akkumulator anzuwenden.
const transform = (obj, fn, acc) =>
  Object.keys(obj).reduce((a, k) => fn(a, obj[k], k, obj), acc);

Hier ist ein Beispiel:

transform(
  { a: 1, b: 2, c: 1 },
  (r, v, k) => {
    (r[v] || (r[v] = [])).push(k);
    return r;
  },
  {}
); // { '1': ['a', 'c'], '2': ['b'] }

Zusammenfassung

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