Typsystem: Bedingten Typ zum Extrahieren von Objektschlüsseln nach Werttyp implementieren

TypeScript Hard types

Aufgabe «Typsystem: Bedingten Typ zum Extrahieren von Objektschlüsseln nach Werttyp implementieren»

Schreiben Sie eine Funktion extractKeysByValueType, die ein Objekt und einen Werttyp (als Zeichenfolge, z. B. 'string' oder 'number') entgegennimmt. Die Funktion soll ein Array von Schlüsseln zurückgeben, für die der Wert den angegebenen Typ hat. Verwenden Sie TypeScript-Generics und bedingte Typen für eine korrekte Typableitung. Wenn das Objekt leer ist oder es keine Schlüssel mit diesem Typ gibt, geben Sie ein leeres Array zurück. Die Verwendung von any ist verboten.

Eingabeformat

Erste Zeile: JSON-Zeichenfolge mit einem Objekt. Zweite Zeile: Zeichenfolge mit dem Typnamen ('string', 'number', 'boolean').

Ausgabeformat

Zeichenfolge, die ein Array von Schlüsseln im JSON-Format enthält (z. B. ["a","b"]). Wenn es keine Schlüssel gibt, geben Sie [] aus.

Beispiele

Beispiel 1

EINGABE
{"a": 1, "b": "hello", "c": true} number
AUSGABE
["a"]

Beispiel 2

EINGABE
{"x": "foo", "y": "bar"} string
AUSGABE
["x","y"]

Beispiel 3

EINGABE
{"a": 1, "b": 2, "c": 3} boolean
AUSGABE
[]
main.ts