You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Map<unknown,unknown>泛型中提取键与值的类型?

解决方案

你可以通过TypeScript的**条件类型推断(infer)**从泛型M中提取Map对应的键和值类型,不需要单独声明K、V泛型参数:

export function fpMapSet<M extends Map<unknown, unknown>>(
  key: M extends Map<infer K, unknown> ? K : never,
  value: M extends Map<unknown, infer V> ? V : never
) {
  // 函数逻辑实现
}

或者更简洁的写法,直接在泛型约束中完成推断:

export function fpMapSet<M extends Map<infer K, infer V>>(
  key: K,
  value: V
) {
  // 函数逻辑实现
}

这种写法会自动从传入的Map实例中推导K和V的具体类型,完全符合你想要的从M的泛型参数中提取对应类型的需求,而不是单独定义K、V。

内容的提问来源于stack exchange,提问作者mpen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 23:45:34