如何定義打字稿型與無限的深度陣列
string|string[]|string[][]|string[][][] // ad infinitum
在打字稿一個類型?
編輯: 的解決辦法是:
type Rec = string | string[] | Rec[]
但這是不允許的。
這是我用例:
interface RecursiveArray<T> {
[index: number]: (RecursiveArray<T> | T);
}
type Recursive<T> = T|RecursiveArray<T>
function stringValue (value: Recursive<string|boolean>): Recursive<string> {
if (typeof value === 'boolean') {
return value ? 'true' : 'false';
}
if (Array.isArray (value)) {
return (value).map (stringValue);
}
return stringValue(value);
}
最簡單的答案就是輸入'any',但是輸入不正確。你有沒有試過把它作爲'Array'輸入? –
Nieminen
我可以問你一個無限深陣列的用例嗎? –
我可以看到將使圓引用,打字稿自動檢測,有關您使用情況的更多信息,唯一的解決方案可以幫助 – jrmgx