当我在下面运行此代码时出现错误:" [ts] 物业'地图'类型'数字|中不存在数[]&#39 ;. 物业'地图'类型''"
上不存在
const a = [
1, 2, 3, 4, 5,
]
const testFunc : (data: number[], options?: string) => number[] | number = function (data: number[], options?: string) {
if (options === 'array') return [1, 2, 3]
return 1
}
const whichType = testFunc(a, 'array')
const double = whichType.map(item => item*2)

感谢。
答案 0 :(得分:0)
whichType
是number | number[]
的联合类型。
您需要缩小它以使用它:
if (typeof whichType === 'number') {
// It's a number
} else {
// It's an array
const double = whichType.map(item => item * 2);
}