gpt4 book ai didi

arrays - typescript :为每个元素输入不同类型的数组

转载 作者:行者123 更新时间:2023-12-05 02:59:27 24 4
gpt4 key购买 nike

我想定义一个类型化数组,为第一个元素指定一个类型,为第二个元素指定另一个类型,依此类推...

事实上,我正试图摆脱以下强制转换:

const cases = [
[ 'http://gmail.com', false ],
[ '/some_page', true ],
[ 'some_page', false ]
]

describe("'isInternalLink' utility", () => {
test.each(cases)(
"given %p as argument, returns %p", (link, result) => {
expect(
isInternalLink(<string>link)
).toEqual(
<boolean> result
)
}
)
})

如您所见,cases 中的每个元素都是一个数组,其中第一个元素是字符串,第二个元素是 bool 值...

明确一点,我不想要一个string | 的数组。 boolean 类型,我想要一个数组,其第一个元素是字符串,第二个元素是 bool 值。

知道如何改进吗???

最佳答案

cases 是一个 Array , cases 中的每个元素都是一个 Tuple , 所以如果你这样定义 cases:

const cases: [string, boolean][] = ...

...或者像这样:

const cases: Array<[string, boolean]> = ....

...然后 link 将是一个 stringresult 将是一个 boolean 并且您的测试可以简化为:

describe("'isInternalLink' utility", () => {
test.each(cases)(
"given %p as argument, returns %p", (link, result) => {
expect(isInternalLink(link)).toEqual(result)
}
)
})

关于arrays - typescript :为每个元素输入不同类型的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57847321/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com