Objekt-Arrays kombinieren

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 arbeiten wir an einem JavaScript-Programmieraufgabe, die darauf abzielt, zwei Objekt-Arrays basierend auf einer bestimmten Eigenschaft zu kombinieren. Das Ziel dieser Aufgabe ist es, Ihnen zu helfen, die Verwendung der Array.prototype.reduce()-Methode und der Objektmanipulation in JavaScript zu üben, was für jeden Entwickler, der mit JavaScript arbeitet, essentielle Fertigkeiten sind. Am Ende dieses Labs sollten Sie in der Lage sein, zwei Objekt-Arrays basierend auf einer Eigenschaft nahtlos zu kombinieren, um ein neues Array zu erstellen.


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/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-28201{{"Objekt-Arrays kombinieren"}} javascript/data_types -.-> lab-28201{{"Objekt-Arrays kombinieren"}} javascript/arith_ops -.-> lab-28201{{"Objekt-Arrays kombinieren"}} javascript/comp_ops -.-> lab-28201{{"Objekt-Arrays kombinieren"}} javascript/cond_stmts -.-> lab-28201{{"Objekt-Arrays kombinieren"}} javascript/array_methods -.-> lab-28201{{"Objekt-Arrays kombinieren"}} javascript/higher_funcs -.-> lab-28201{{"Objekt-Arrays kombinieren"}} javascript/destr_assign -.-> lab-28201{{"Objekt-Arrays kombinieren"}} javascript/spread_rest -.-> lab-28201{{"Objekt-Arrays kombinieren"}} end

Funktion zum Kombinieren von Objekt-Arrays basierend auf einem bestimmten Schlüssel

Um zwei Objekt-Arrays basierend auf einem bestimmten Schlüssel zu kombinieren, 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 Array.prototype.reduce() mit einem Objekt-Akkumulator, um alle Objekte in beiden Arrays basierend auf der angegebenen prop zu kombinieren.
  3. Verwenden Sie Object.values(), um das resultierende Objekt in ein Array zu konvertieren und zurückzugeben.

Hier ist die Funktion, die Sie verwenden können:

const combine = (a, b, prop) =>
  Object.values(
    [...a, ...b].reduce((acc, v) => {
      if (v[prop])
        acc[v[prop]] = acc[v[prop]] ? { ...acc[v[prop]], ...v } : { ...v };
      return acc;
    }, {})
  );

Hier ist ein Beispiel, wie diese Funktion verwendet werden kann:

const x = [
  { id: 1, name: "John" },
  { id: 2, name: "Maria" }
];
const y = [{ id: 1, age: 28 }, { id: 3, age: 26 }, { age: 3 }];
combine(x, y, "id");
// [
//  { id: 1, name: 'John', age: 28 },
//  { id: 2, name: 'Maria' },
//  { id: 3, age: 26 }
// ]

Zusammenfassung

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