我正在尝试编写一个通用函数,其中我想要一个具有其他通用参数类型的参数。这是一个代码示例:
function find<K,V,P extends keyof V>(map: Map<K,V>, property: P, value: number): boolean {
for (const entry of Array.from(map.values())) {
if (entry[property] == value)
return true;
}
return false;
}
let map = new Map<string, string>([["a", "test"]]);
const result: boolean = find<string,string,'length'>(map, 'length', 4); //is the entry 'a' of length 4 ?
这是行不通的,因为value: number
的类型是硬编码的。我想成为property:P
类型中的V
类型。这有可能吗?
答案 0 :(得分:0)
function find<K,V,P extends keyof V>(map: Map<K,V>, property: P, value: V[P])