Sistema de tipos: implementar un tipo condicional para extraer claves de un objeto según el tipo de valor
TypeScript
Hard
types
Tarea «Sistema de tipos: implementar un tipo condicional para extraer claves de un objeto según el tipo de valor»
Escriba una función extractKeysByValueType, que recibe un objeto y un tipo de valor (como una cadena, por ejemplo 'string' o 'number'). La función debe devolver un arreglo de claves cuyos valores tengan el tipo especificado. Utilice genéricos de TypeScript y tipos condicionales para una inferencia de tipos correcta. Si el objeto está vacío o no hay claves con ese tipo, devuelva un arreglo vacío. Está prohibido usar any.
Formato de entrada
Primera línea: una cadena JSON con un objeto. Segunda línea: una cadena con el nombre del tipo ('string', 'number', 'boolean').
Formato de salida
Una cadena que contiene un arreglo de claves en formato JSON (por ejemplo, ["a","b"]). Si no hay claves, muestre [].
Ejemplos
Ejemplo 1
ENTRADA
{"a": 1, "b": "hello", "c": true}
number
SALIDA
["a"]
Ejemplo 2
ENTRADA
{"x": "foo", "y": "bar"}
string
SALIDA
["x","y"]
Ejemplo 3
ENTRADA
{"a": 1, "b": 2, "c": 3}
boolean
SALIDA
[]
main.ts