Einführung
In diesem Lab arbeiten wir an einem JavaScript-Programmieraufgabe, die sich auf das Abbilden der Werte eines Objekts mit einer bereitgestellten Funktion konzentriert. Der Zweck dieser Aufgabe ist es, Ihnen zu helfen, ein besseres Verständnis davon zu erlangen, wie man Object.keys() und Array.prototype.reduce() verwendet, um ein neues Objekt mit denselben Schlüsseln und abgebildeten Werten zu erstellen. Am Ende dieses Labs werden Sie in der Lage sein, diese Kenntnisse anzuwenden, um komplexere Probleme in Ihren eigenen Projekten zu lösen.
Funktion zum Abbilden von Objektwerten
Um die Werte eines Objekts mit einer bereitgestellten Funktion abzubilden und ein neues Objekt mit denselben Schlüsseln zu generieren, folgen Sie diesen Schritten:
- Öffnen Sie das Terminal/SSH und geben Sie
nodeein, um mit der Codeausführung zu beginnen. - Verwenden Sie
Object.keys(), um über die Schlüssel des Objekts zu iterieren. - Verwenden Sie
Array.prototype.reduce(), um ein neues Objekt mit denselben Schlüsseln und abgebildeten Werten mit der bereitgestellten Funktionfnzu erstellen. - Der folgende Code demonstriert die Implementierung der
mapValues-Funktion.
const mapValues = (obj, fn) =>
Object.keys(obj).reduce((acc, k) => {
acc[k] = fn(obj[k], k, obj);
return acc;
}, {});
Hier ist ein Beispiel für die Verwendung der mapValues-Funktion:
const users = {
fred: { user: "fred", age: 40 },
pebbles: { user: "pebbles", age: 1 }
};
mapValues(users, (u) => u.age); // { fred: 40, pebbles: 1 }
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab "Map Object Values" abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.