Карта Typescript, как структура данных для эффективного поиска - PullRequest
0 голосов
/ 29 октября 2019

Каков будет эффективный способ определения структуры данных, которая будет соответствовать приведенному ниже примеру?

MealType и Topping вряд ли будут изменены, но могут измениться в будущем.

Ищете декларативный, функциональный способ построения этой структуры данных и получения извлечения в map.retrieve(selectedMealType, selectedToppingMix) -фракции.

// can only be one type of meal selected
export enum MealType {
  Salad,
  Pizza,
  Pastry
}

// can be none, one, or many (any combination of) toppings selected
export enum Topping {
  Cheese,
  Ham,
  Tomatoes
}

// expected output

// All possible combinations of
// Salad
//      : with no toppings
//      : with Cheese                   --> and assign specific string/value for it
//      : with Cheese, Ham              --> and assign specific string/value for it
//      : with Cheese, Tomatoes         --> and assign specific string/value for it
//      : with Cheese, Ham, Tomatoes    --> and assign specific string/value for it
//      : with Ham                      --> and assign specific string/value for it
//      : with Ham, Tomatoes            --> and assign specific string/value for it
//      : with Ham, Tomatoes            --> and assign specific string/value for it

// ... same for Pizza and Pastry

Было бы хорошо, если бы он был статичным.

Как бы вы его построили, а затем получили доступ к значениям?

...