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:
- Öffnen Sie das Terminal/SSH und geben Sie
nodeein, um mit der Codeausführung zu beginnen. - Verwenden Sie
Array.prototype.reduce(), um aus dem Array ein Objekt zu erstellen. - 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.