Sistema de tipos: implementar tipo condicional para extrair chaves de objeto pelo tipo de valor
TypeScript
Hard
types
Tarefa «Sistema de tipos: implementar tipo condicional para extrair chaves de objeto pelo tipo de valor»
Escreva a função extractKeysByValueType, que recebe um objeto e um tipo de valor (como string, por exemplo 'string' ou 'number'). A função deve retornar um array de chaves cujo valor possui o tipo especificado. Use generics do TypeScript e tipos condicionais para inferência correta dos tipos. Se o objeto estiver vazio ou não houver chaves com esse tipo, retorne um array vazio. É proibido usar any.
Formato de Entrada
Primeira linha: string JSON com um objeto. Segunda linha: string com o nome do tipo ('string', 'number', 'boolean').
Formato de Saída
String contendo um array de chaves no formato JSON (por exemplo, ["a","b"]). Se não houver chaves, exibir [].
Exemplos
Exemplo 1
ENTRADA
{"a": 1, "b": "hello", "c": true}
number
SAÍDA
["a"]
Exemplo 2
ENTRADA
{"x": "foo", "y": "bar"}
string
SAÍDA
["x","y"]
Exemplo 3
ENTRADA
{"a": 1, "b": 2, "c": 3}
boolean
SAÍDA
[]
main.ts