如何键入数组中特定字符串的任意顺序



如果有一个字符串数组,例如

const myArray = ["apple", "banana"]

如何在TypeScript中输入这个,使它满足以下任何/所有条件:

["banana", "apple"]
["banana"]
["apple"]

我想我可以这样做:

const myArray = ["apple", "banana"] as const
type MyArrayType = typeof myArray;

但这似乎不像预期的那样起作用。

差不多了。像这样使用

const myArray = ["apple", "banana"] as const
type MyArrayType = Array<typeof myArray[number]>
const test: MyArrayType = ["apple"]
const test1: MyArrayType = ["banana"]
const test2: MyArrayType = ["banana", "apple"]
const test3: MyArrayType = ["banana", "apple", "kiwi"] // error

对于唯一性检查,您可以使用类型的例子之一,这里有一种方法来定义类型的数组与唯一的项目在typescript?

最新更新