Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
TypeScript-限制详细代码块的数据结构和组织_Typescript - Fatal编程技术网

TypeScript-限制详细代码块的数据结构和组织

TypeScript-限制详细代码块的数据结构和组织,typescript,Typescript,在我的TypeScript模块中,我有一系列数组结构,其中每个数组结构都将保存单独的数据 var monthlySheetP = [ ['Year', 'Month', 'Program', 'Region', 'Market', 'Country', 'Started', 'Completed'] ]; var monthlySheetV = [ ['Year', 'Month', 'Program', 'Region', 'Market', 'Country', 'Start

在我的TypeScript模块中,我有一系列数组结构,其中每个数组结构都将保存单独的数据

var monthlySheetP = [
    ['Year', 'Month', 'Program', 'Region', 'Market', 'Country', 'Started', 'Completed']
];
var monthlySheetV = [
    ['Year', 'Month', 'Program', 'Region', 'Market', 'Country', 'Started', 'Completed']
];
var monthlySheetT = [
    ['Year', 'Month', 'Program', 'Region', 'Market', 'Country', 'Started', 'Completed']
];
var monthlySheetB = [
    ['Year', 'Month', 'Program', 'Region', 'Market', 'Country', 'Started', 'Completed']
];
var monthlySheetU = [
    ['Year', 'Month', 'Program', 'Region', 'Market', 'Country', 'Started', 'Completed']
];
var monthlySheetPV = [
    ['Year', 'Month', 'Program', 'Region', 'Market', 'Country', 'Started', 'Completed']
];
var monthlySheetPT = [
    ['Year', 'Month', 'Program', 'Region', 'Market', 'Country', 'Started', 'Completed']
];
var monthlySheetVT = [
    ['Year', 'Month', 'Program', 'Region', 'Market', 'Country', 'Started', 'Completed']
];
var monthlySheetPVT = [
    ['Year', 'Month', 'Program', 'Region', 'Market', 'Country', 'Started', 'Completed']
];
我遍历一些其他数据,并开始按以下方式填充这些数组

if (dealer.buService == 'B') {
    monthlySheetB.push(cells);
} else if (dealer.buService == 'U') {
    monthlySheetU.push(cells);
} else if (dealer.buService == 'PVT') {
    monthlySheetPVT.push(cells);
}

顶部的数组声明块似乎太冗长。有没有更优雅的方式来声明这些数据结构?

使用对象来存储数据:

var monthlySheet = {
    'P': ['Year', 'Month', 'Program', 'Region', 'Market', 'Country', 'Started', 'Completed'],
    'V': ['Year', 'Month', 'Program', 'Region', 'Market', 'Country', 'Started', 'Completed'],
    'T': ['Year', 'Month', 'Program', 'Region', 'Market', 'Country', 'Started', 'Completed'],
    'B': ['Year', 'Month', 'Program', 'Region', 'Market', 'Country', 'Started', 'Completed'],
    'U': ['Year', 'Month', 'Program', 'Region', 'Market', 'Country', 'Started', 'Completed'],
    'PV': ['Year', 'Month', 'Program', 'Region', 'Market', 'Country', 'Started', 'Completed'],
//...
};
然后使用该对象:

monthlySheet[dealer.buService].push(cells);

使用对象存储数据:

var monthlySheet = {
    'P': ['Year', 'Month', 'Program', 'Region', 'Market', 'Country', 'Started', 'Completed'],
    'V': ['Year', 'Month', 'Program', 'Region', 'Market', 'Country', 'Started', 'Completed'],
    'T': ['Year', 'Month', 'Program', 'Region', 'Market', 'Country', 'Started', 'Completed'],
    'B': ['Year', 'Month', 'Program', 'Region', 'Market', 'Country', 'Started', 'Completed'],
    'U': ['Year', 'Month', 'Program', 'Region', 'Market', 'Country', 'Started', 'Completed'],
    'PV': ['Year', 'Month', 'Program', 'Region', 'Market', 'Country', 'Started', 'Completed'],
//...
};
然后使用该对象:

monthlySheet[dealer.buService].push(cells);

@JohnWeisz-所有实例的数组结构都是相同的,但它们将保存不同的数据集。var meta=['Year'、'Month'、'Program'、'Region'、'Market'、'Country'、'Started'、'Completed'];var monthlySheetP=[].push(meta);更好的方法是创建一个生成包含冗余元数据的数组的函数。您还可以使用array.unshift(['Year','Month','Program','Region','Market','Country','Started','Completed'])在所有逻辑的末尾添加元数据@JohnWeisz-所有实例的数组结构都是相同的,但它们将保存不同的数据集。var meta=['Year'、'Month'、'Program'、'Region'、'Market'、'Country'、'Started'、'Completed'];var monthlySheetP=[].push(meta);更好的方法是创建一个生成包含冗余元数据的数组的函数。您还可以使用array.unshift(['Year','Month','Program','Region','Market','Country','Started','Completed'])在所有逻辑的末尾添加元数据