TypeScript:是否有一种方法可以检查无限嵌套的数组类型?

6
这里有一个示例。基本思想是 - 我有一种类型,可以是普通对象,也可以是对象数组。
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 };

谢谢

1个回答

11

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

这是与你的area常量匹配的接口

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接