Я хочу сопоставить некоторые строки с числами, которые используются для определения приоритета каждого из них, следующий способ работает нормально, но я не думаю, что это лучший способ сделать это.
любые предложения о том, как написать этот фрагмент кода лучше?
private readonly PRIORITY: Map<string, number> = new Map<string, number>([
['XDR', 1],
['PT1M', 2],
['PT1M_', 2],
['PT5M', 3],
['PT5M_', 3],
['PT15M', 4],
['PT15M_', 4],
['PT1H', 5],
['PT1H_', 5],
['P1D', 6],
['P1D_', 6],
['P7D', 7],
['P1W', 7],
['P1M', 8]
]);
private getsAsPriorityMap(): Map<string, number> {
const result: Map<string, number> = new Map<string, number>();
const Widgets = ViewManager.getView().getWidgets();
Widgets.forEach(graphWidget => {
const gran = QueryProcessorService.getWidgetApplied(Widget);
if (gran) {
result.set(gran, this.PRIORITY.get(gran));
}
});
return result;
}
вид массива сбивает с толку Я хочу написать так, чтобы его легко читал любой, кто читает мой код