TypeScript-限制详细代码块的数据结构和组织
在我的TypeScript模块中,我有一系列数组结构,其中每个数组结构都将保存单独的数据TypeScript-限制详细代码块的数据结构和组织,typescript,Typescript,在我的TypeScript模块中,我有一系列数组结构,其中每个数组结构都将保存单独的数据 var monthlySheetP = [ ['Year', 'Month', 'Program', 'Region', 'Market', 'Country', 'Started', 'Completed'] ]; var monthlySheetV = [ ['Year', 'Month', 'Program', 'Region', 'Market', 'Country', 'Start
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'])在所有逻辑的末尾添加元数据