Задать вопрос
@spasiboivanu
frontend engineer at Sber.Tech

Чем заменить однотипные else if?

Есть код:
const path = url.pathname; // "/shop/goods/{guid}/{guid}/write"
if (path.startsWith("/shop/goods")) { 
  ...
} else if (path.startsWith("/shop/union")) {
  ...
} else if (path.startsWith("/docs/tech")) {
  ...
} else if (path.startsWith("/docs/goods")) {
... еще пару таких условий


Как это можно переиграть и заменить, не нравится громоздкие else if else if

Изначально делал так:
const parts = url.pathname.split("/");
const routePrefix = `${parts[0]}/${parts[1]}`;

switch(routePrefix) {
  case "/shop/goods": 
    ...
  break;
  тут остальные
}


Но показалось излишне сплитить строку и собирать префикс, но так конечно выглядит и читается лучше.
  • Вопрос задан
  • 173 просмотра
Подписаться 1 Простой 10 комментариев
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
al77ex
@al77ex
FullStack Developer
Как вариант создать массив строк с из путей. Потом его перебрать а внутри массива всего одно условие if по которому изменить какой-то флажек.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы