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

如何为TypeScript的randomFromArray函数实现动态类型推断?

实现动态类型推断的数组随机元素函数

你可以通过泛型来实现动态类型推断,让函数根据传入的数组元素类型自动推导返回值类型。修改后的代码如下:

const randomFromArray = <T>(array: T[]): T => {
  return array[randomNumberFromRange(0, array.length - 1)];
};

说明:

  • <T>是泛型参数,用来捕获传入数组的元素类型。TypeScript会在调用函数时,根据你传入的数组自动推断T的具体类型。
  • 参数array被定义为T[],表示这是一个元素类型为T的数组。
  • 函数返回类型指定为T,确保返回值的类型和数组元素类型完全一致。

示例调用:

// 返回类型自动推断为string
const randomColor = randomFromArray(['red', 'blue', 'green']);

// 返回类型自动推断为number
const randomNum = randomFromArray([10, 20, 30]);

// 返回类型自动推断为string | boolean(联合类型)
const randomMixed = randomFromArray(['foo', true, 'bar']);

这样无论你传入什么类型的数组,函数都会返回对应类型的元素,彻底解决unknown或any导致的类型模糊问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 03:25:47