正在try 为无限嵌套对象的 struct 定义类型/接口,但其值必须为Number|Number[].
type TValue = number | number[];
type TDataLevel1 = {
[key: string]: TValue;
};
type TDataLevel2 = {
[key: string]: TValue | TDataLevel1;
};
type TData = {
[key: string]: TValue | TDataLevel2;
};
这最多可以工作3层嵌套对象.但是,JSON路径.key2.key1有错误,因为它是第4级.
let data: TData = {
key1: 1234,
key2: {
key1: [2, 4],
key2: {
key1: [6, 8],
key2: { key1: [10, 12, 14] }, // error here
},
},
};
这可以通过添加更多样板TDataLevel3、4..、N来支持N个级别来解决.有没有更好的方法来定义这类数据?