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

如何在TypeScript中声明包含多种类型元素的数组?

解决混合类型数组的类型定义问题

你当前给argumentThree定义的类型string[] | number[],表示的是纯字符串数组或者纯数字数组的联合类型,但实际传入的是同时包含字符串和数字的混合数组,类型不匹配所以报错。

正确的类型定义应该是(string | number)[],它表示数组中的每个元素都可以是字符串或数字,完全匹配你传入的["string1", 2, "string3"]这种场景。

修改后的函数代码:

function functionName(argumentOne: string, argumentTwo: string, argumentThree: (string | number)[]) {
  ...
}

两者的核心区别:

  • string[] | number[]:要求整个数组的元素类型统一,要么全是字符串,要么全是数字
  • (string | number)[]:允许数组内的元素混合使用字符串和数字

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 19:20:30