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

TypeScript:如何将函数数组转换为函数返回值数组

解决方案:将函数元组转换为返回值元组

你可以用TypeScript的映射类型结合ReturnType工具类型实现这个通用需求,这种写法会严格保留原元组的元素顺序与结构:

type ReturnTypes<T extends readonly (() => any)[]> = {
  [K in keyof T]: ReturnType<T[K]>;
};

使用示例

// 定义函数元组
type FnArray = [() => number, () => string, () => boolean];
// 转换为返回值元组
type ValueArray = ReturnTypes<FnArray>; // 类型为 [number, string, boolean]

细节说明

  • 泛型T被约束为只读函数数组,确保传入的类型符合要求
  • [K in keyof T]遍历元组的每个索引键,对每个函数元素调用ReturnType<T[K]>提取其返回值类型
  • 如果需要支持带参数的函数(仅关心返回值时),当前写法完全适用,因为ReturnType会自动忽略函数参数,只提取返回值类型

内容的提问来源于stack exchange,提问作者Vojtěch Kudláček

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 04:52:38