我正在使用流进行类型检查,我有以下功能。
function foo(x: Array<number> | Array<string>) {
const s = x.map(i => i);
}
我需要使用 Array<number> | Array<string>
而不是 Array<number | string>
因为有些代码是自动生成的,不受我的控制,返回类型为 Array<number> | Array<string>
.
显然不管 x
的实际类型如何,我“应该”能够对其执行数组操作。但是我无法使用 map
在 x 上运行,并收到以下错误:
Cannot instantiate array type because string [1] is incompatible with number [2].
我想知道解决这个问题并能够在不收到错误的情况下执行数组操作的正确方法是什么。
Link到流 fiddle 。
最佳答案
关于javascript - Flow javascript混合类型数组不能使用数组函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58151323/