我正在尝试填充一个由元组组成的数组
const countries = ['sg', 'my', 'th'];
const platforms = ['ios', 'android'];
const combinationsToQuery = platforms.flatMap((platform) =>
countries.map((cid) => [platform, cid])
); // [["ios", "sg"], ["ios", "my"], ["ios", "th"], ["android", "sg"], ["android", "my"], ["android", "th"]]
现在我正在尝试向它们添加一些类型,下面是我的尝试
type country = 'sg' | 'my' | 'th' | 'uk' | 'us'
type platform = 'ios' | 'android'
const countries: country[] = ['sg', 'my'];
const platforms: platform[] = ['ios', 'android'];
const combinationsToQuery: [platform, country][] = platforms.flatMap((platform) =>
countries.map((cid: country) => [platform, cid])
);
类型“(国家|平台)[][]”不可分配给类型“[平台,国家/地区][]”。
类型“(国家/地区 | 平台)[]”不可分配给类型“[平台,国家/地区]”。
目标需要 2 个元素,但源可能更少。(2322)
如果我不具体定义[platform, country][]
, TS 将推断combinationsToQuery
to be (country | platform)[][]
,这听起来也不对吗?