类型系统:实现一个条件类型,用于根据值的类型提取对象的键
TypeScript
Hard
types
任务 «类型系统:实现一个条件类型,用于根据值的类型提取对象的键»
写一个函数 extractKeysByValueType,它接收一个对象和一个值类型(以字符串形式,例如 'string' 或 'number')。该函数应返回一个数组,其中包含值具有指定类型的键。使用 TypeScript 泛型和条件类型来实现正确的类型推断。如果对象为空或没有具有该类型的键,则返回空数组。禁止使用 any。
输入格式
第一行:包含一个对象的JSON字符串。第二行:包含类型名称的字符串('string'、'number'、'boolean')。
输出格式
字符串,包含一个JSON格式的键数组(例如,["a","b"])。如果没有键,则输出[]。
示例
示例 1
输入
{"a": 1, "b": "hello", "c": true}
number
输出
["a"]
示例 2
输入
{"x": "foo", "y": "bar"}
string
输出
["x","y"]
示例 3
输入
{"a": 1, "b": 2, "c": 3}
boolean
输出
[]
main.ts