Array basierend auf einer Funktion indizieren

Beginner

This tutorial is from open-source community. Access the source code

Einführung

In diesem Lab werden wir die indexBy-Funktion in JavaScript erkunden, die ein Objekt aus einem Array basierend auf einer angegebenen Funktion erstellt. Das Ziel dieses Labs ist es, Ihnen zu helfen, zu verstehen, wie Array.prototype.reduce() verwendet wird und wie eine Funktion auf jedes Element eines Arrays angewendet werden kann, um ein Schlüssel-Wert-Paar zu erzeugen. Am Ende dieses Labs sollten Sie in der Lage sein, indexBy zu verwenden, um die Werte eines Arrays zu Schlüsseln zuzuordnen und ein neues Objekt zu erstellen.

Funktion zum Indizieren eines Arrays

Um ein Array mithilfe einer Funktion zu indizieren, 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(), um aus dem Array ein Objekt zu erstellen.
  3. Wenden Sie die bereitgestellte Funktion auf jedes Element des Arrays an, um einen Schlüssel zu erzeugen, und fügen Sie das Schlüssel-Wert-Paar zum Objekt hinzu.

Hier ist ein Beispielcodeausschnitt:

const indexBy = (arr, fn) =>
  arr.reduce((obj, v, i) => {
    obj[fn(v, i, arr)] = v;
    return obj;
  }, {});

Sie können diese Funktion wie folgt verwenden:

indexBy(
  [
    { id: 10, name: "apple" },
    { id: 20, name: "orange" }
  ],
  (x) => x.id
);
// { '10': { id: 10, name: 'apple' }, '20': { id: 20, name: 'orange' } }

Diese Funktion erstellt aus einem Array ein Objekt, indem jedes Element mithilfe einer bereitgestellten Funktion einem Schlüssel zugeordnet wird. Das resultierende Objekt enthält Schlüssel-Wert-Paare, wobei die Schlüssel von der Funktion erzeugt werden und die Werte die ursprünglichen Arrayelemente sind.

Zusammenfassung

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