TypeScript · Senior · Frage 69 von 75
Wie typisiert man eine Funktion, die die genauen Schlüssel eines übergebenen Objekts behält und die Werte umwandelt?
function mapValues<T extends object, R>(obj: T, fn: (v: T[keyof T]) => R): { [K in keyof T]: R } { /* ... */ }- 1Von der Funktion
Record<string, R>zurückgeben - 2Ein Mapped Type über
keyof Tim Rückgabetyp - 3
objectzurückgeben und an jeder Aufrufstelle casten
Antwort zeigen
Richtige Antwort: Ein Mapped Type über keyof T im Rückgabetyp
Erklärung
Aufrufer behalten die Autovervollständigung und die Prüfung auf Tippfehler bei Schlüsseln. Beachte, dass Object.entries innen trotzdem die Schlüsseltypen verliert und einen Cast braucht.