Objekt-Schlüssel-Wert-Paare umkehren

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 wir die Schlüssel-Wert-Paare eines Objekts umkehren können, ohne das ursprüngliche Objekt zu verändern. Wir werden die Object.keys()-Methode und Array.prototype.reduce() verwenden, um das Objekt umzukehren. Darüber hinaus werden wir lernen, wie wir eine Funktion auf die umgekehrten Schlüssel anwenden und ein Array von Schlüsseln zurückgeben, die für das Generieren des umgekehrten Werts verantwortlich sind.


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") subgraph Lab Skills javascript/variables -.-> lab-28404{{"Objekt-Schlüssel-Wert-Paare umkehren"}} javascript/data_types -.-> lab-28404{{"Objekt-Schlüssel-Wert-Paare umkehren"}} javascript/arith_ops -.-> lab-28404{{"Objekt-Schlüssel-Wert-Paare umkehren"}} javascript/comp_ops -.-> lab-28404{{"Objekt-Schlüssel-Wert-Paare umkehren"}} javascript/array_methods -.-> lab-28404{{"Objekt-Schlüssel-Wert-Paare umkehren"}} javascript/higher_funcs -.-> lab-28404{{"Objekt-Schlüssel-Wert-Paare umkehren"}} javascript/destr_assign -.-> lab-28404{{"Objekt-Schlüssel-Wert-Paare umkehren"}} end

Funktion zum Umkehren eines Objekts

Um die Schlüssel-Wert-Paare eines Objekts umzukehren, ohne das ursprüngliche Objekt zu verändern, verwenden Sie die invertKeyValues-Funktion.

  • Rufen Sie die Funktion auf, indem Sie invertKeyValues(obj, fn) in der Konsole/SSH eingeben, wobei obj das zu invertierende Objekt und fn eine optionale Funktion ist, die auf den umgekehrten Schlüssel angewendet werden soll.

  • Die Object.keys()-Methode und Array.prototype.reduce() werden verwendet, um ein neues Objekt mit umgekehrten Schlüssel-Wert-Paaren zu erstellen, und wenn eine Funktion angegeben ist, wird sie auf jeden umgekehrten Schlüssel angewendet.

  • Wenn fn weggelassen wird, gibt die Funktion nur die umgekehrten Schlüssel zurück, ohne dass auf sie eine Funktion angewendet wird.

  • Die Funktion gibt ein Objekt zurück, bei dem jeder umgekehrte Wert ein Array von Schlüsseln ist, die für das Generieren des umgekehrten Werts verantwortlich sind.

const invertKeyValues = (obj, fn) =>
  Object.keys(obj).reduce((acc, key) => {
    const val = fn ? fn(obj[key]) : obj[key];
    acc[val] = acc[val] || [];
    acc[val].push(key);
    return acc;
  }, {});

Beispielverwendung:

invertKeyValues({ a: 1, b: 2, c: 1 }); // { 1: [ 'a', 'c' ], 2: [ 'b' ] }
invertKeyValues({ a: 1, b: 2, c: 1 }, (value) => "group" + value);
// { group1: [ 'a', 'c' ], group2: [ 'b' ] }

Zusammenfassung

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