typescript中获取数组每一项key的所有value集合类型

742 阅读1分钟

typescript.png

在ts中,要获取Array中的某一项的所有value作为一个类型集合,一般分为以下几种情况

简单常量数组

    const arr = [1,2,3] as const

    type  MyType = typeof arr[number]

image.png

对象数组类型

 const arr = [
   {label: 'label1', value: 'value1'},
   {label: 'label2', value: 'value2'},
   {label: 'label3', value: 'value3'}] as const

 type  MyType = typeof arr[number]['value']

image.png

写在最后

[number] 在ts中,表示循环,可以利用该属性,将数组里面某一项的所有value作为一个类型集合

as const as断言, const只读,ts无法读取不确定数组的所有value的集合,所以,只是在编译阶段有区别,在运行阶段并不会有影响;