假設我有一個函數返回一個列表,其中包含可變數量的列表,每個列表包含首先可變數量的列表,然後將單個對象作爲名單的最後一名成員。在類型別名中聲明未知數量的列表
這裏有幾個輸出的例子:
output1 = [
[
[1, 2, 3],
{ x: 1, y: 2 }
],
[
[4, 5, 6],
{ x: 3, y: 4 }
],
[
[7, 8, 9],
{ x: 5, y: 6 }
]
];
output2 = [
[
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
// however many more lists there are
{ x: 1, y: 2 }
],
[
['a', 'b', 'c'],
['d', 'e', 'f'],
['g', 'h', 'i'],
// however many more lists there are
{ x: 3, y: 4 }
],
// however many more lists there are
];
列表中的內容的類型可以是any
,但每個對象具有屬性x
和y
,其中的每一個具有類型number
。
我該如何創建一個準確,專門顯示此類型的別名?
眼下,這就是我創造:
type Output = [
[
any[], // this is what I need help with
{ x: number, y: number }
][]
]
我認爲你現在可以做的最好的是(任何[] | {x:number; y:number;})[]。但也許在未來休息/傳播屬性可以幫助https://github.com/Microsoft/TypeScript/issues/2103 – Magu
是的,這將工作,直到有更好的事情出現。 – gliemezis