TypeScript:有没有办法检查无限嵌套数组的类型?

时间:2019-02-22 06:35:00

标签: typescript

这里是example

基本思想是-我有一个可以是普通对象或对象数组的类型。

type SingleOrArray<T> = T | T[];

我有这样的结构:

const area: ItemArea = [
  { name: 'test1' },
  { name: 'test2' },
  [
    { name: 'test3' },
    { name: 'test4' },
    [
      { name: 'test5' },
      { name: 'test6' },
      [
        { name: 'test7' },
      ]
    ]
  ]
];

如何通过以下方式限制此嵌套数组的每个元素:

type Item = { name: string };

thx

1 个答案:

答案 0 :(得分:2)

您不能使用type,因为type无法重复。但是您可以使用interface

这是与您的area常量匹配的界面

interface ItemArea {
    [n: number]: {
        name: string
    } | ItemArea;
};