具有不同类型的 TypeScript 多维数组

5

我有一个自定义对象声明(ThreadObj),我想创建一个THREADLISTS,包含多个Threadlist数组。所以

Threadlist:ThreadObj[]=[];
THREADLISTS:[ThreadObj[]][ThreadObj]=[][]; //how to type and init?

第一个维度是ThreadObj[],第二个维度是ThreadObj。

祝好!


可能是[Typescript-多维数组初始化]的重复问题 (https://dev59.com/7V0a5IYBdhLWcg3wmZoX)。 - David Sherret
1
我看过那个帖子,不幸的是它没有解答关于类型的问题。 - Han Che
我相信它是 ThreadObj[][]。如果这不是你的意思,那么你能提供一下 THREADLISTS 的使用示例吗?也许我们有所误解。 - David Sherret
3个回答

2

例子:

type ThreadObj = {foo:string}
type ThreadList = ThreadObj[]; 
type ThreadListList = ThreadList[];

const obj: ThreadObj = {
    foo: '123'
}
const singleDim: ThreadList = [
    obj
]
const multiDim: ThreadListList = [
    singleDim,
    singleDim
]

更多

一步到位:

const allInOneStep: {foo:string}[][] = [
    [
        {
            foo: 'hello'
        },
        {
            foo: 'is it me'
        }
    ],
    [ 
        {
            foo: 'you are looking for'
        }
    ]
]

2
这难道不只是:
let arr:ThreadObj[][] = []

0
在 TypeScript 中,对于多维数组,你可以简单地声明并定义变量,如下所示:
let multiArr:(string|number)[][] = [["Ram","Shyam",1,2,3,"Hari"]];

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