在ts中,要获取Array中的某一项的所有value作为一个类型集合,一般分为以下几种情况
简单常量数组
const arr = [1,2,3] as const
type MyType = typeof arr[number]
对象数组类型
const arr = [
{label: 'label1', value: 'value1'},
{label: 'label2', value: 'value2'},
{label: 'label3', value: 'value3'}] as const
type MyType = typeof arr[number]['value']
写在最后
[number]在ts中,表示循环,可以利用该属性,将数组里面某一项的所有value作为一个类型集合
as constas断言, const只读,ts无法读取不确定数组的所有value的集合,所以,只是在编译阶段有区别,在运行阶段并不会有影响;