TS 取二维数组中每一项属性的值当联合类型

TS 取二维数组中每一项属性的值当联合类型

定义 ts 工具类型

type GetArrItemKeyTypes<T extends {[k: number]: object
}, K extends keyof T[number]> = T[number][K]

数组对象

const arrObj1 = [{s: 'dd'},{s: 1},
]
// string | number
type O = GetArrItemKeyTypes<typeof arrObj1, 's'>

数组数组

const arrArr = [[1,2,3,4],[5,6,7,8]
]
// number
type A = GetArrItemKeyTypes< Required<typeof arrArr> , 1>

若想返回更加具体的联合类型,则可以使用 const 关键字

const arrObj1 = <const>[{s: 'dd'},{s: 'sd'},
]
// 'dd' | 'sd'
type O = GetArrItemKeyTypes<typeof arrObj1, 's'>


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部