Как объединить имя пути со строками URL - PullRequest
0 голосов
/ 04 мая 2020

Я настраиваю javascript, который содержит путь для нескольких URL-адресов, но я не хочу устанавливать новый "случай" для непрерывной строки URL-адреса.

Есть ли какое-либо возможное решение для комбинировать регистры вместо создания нового?

switch (window.location.pathname) {
case '/blog/category/style':
$(".wsite-sideblock h2.wsite-title").append("Style");
break;
case '/blog/category/style/2':
$(".wsite-sideblock h2.wsite-title").append("Style");
break;
case '/blog/category/style/3':
$(".wsite-sideblock h2.wsite-title").append("Style");
break;
.
.
.
case '/blog/category/style/10':
$(".wsite-sideblock h2.wsite-title").append("Style");
break;
}

У меня была мысль, что простой трюк - добавить "+" вот так ... (но это не сработало)

case '/blog/category/style' + '/blog/category/style/2':

Ответы [ 3 ]

1 голос
/ 04 мая 2020

Я думаю, вам не нужно использовать переключатель, если вы всегда будете делать то же самое. Поместите эти пути в массив и просто проверьте, находится ли window.location.pathname в массиве или нет, и в зависимости от этого стиля добавления или нет.

    const paths = ['/blog/category/style', '/blog/category/style/2', ..., '/blog/category/style/10'];
    if (paths.includes(window.location.pathname)) {
        $(".wsite-sideblock h2.wsite-title").append("Style");
    }
1 голос
/ 04 мая 2020

Вы можете объединить их, используя этот тип переключателей (если они имеют одинаковую команду вывода):

switch (window.location.pathname) {
case '/blog/category/style':
case '/blog/category/style/2':
case '/blog/category/style/3':
...
case '/blog/category/style/10':
$(".wsite-sideblock h2.wsite-title").append("Style");
break;
}
0 голосов
/ 04 мая 2020

На самом деле вы можете просто опустить операторы break, и элемент управления "провалится" до следующего ответа.

let pathname = '/blog/category/style/3';

switch (pathname) {
  case '/blog/category/style':
  case '/blog/category/style/2':
  case '/blog/category/style/3':
  case '/blog/category/style/10':
    console.log("Print this for any of the above cases");
    break;
}
...