Как проверить, содержит ли строка (текущий URL) несколько подстрок - PullRequest
0 голосов
/ 09 января 2019

Мне нужно проверить, содержит ли текущий URL несколько подстрок. Мой код работает, но мне нужен совет, если это возможно, чтобы сделать его лучше. Я понимаю, что дублирование кода не является хорошей практикой. Я работаю с Angular 6 / Typescript / ECMAScript 6.

const currentUrl = this.location.path();
const displayTile = currentUrl.includes('/search-resources') || currentUrl.includes('/calendar') || currentUrl.includes('/yearbooks')? 1 : 2;

Ответы [ 2 ]

0 голосов
/ 09 января 2019

Ваш код в порядке, если вы хотите уменьшить длину проверок, поместите подстроки в массив. как:

var substrings = ['/search-resources', '/calendar', '/yearbooks']

Проверьте ваше состояние, используя:

const displayTile = substrings.some((e) => currentUrl.includes(e)) ? 1 : 2

Array.some ()

Метод some () проверяет, прошел ли хотя бы один элемент в массиве тест, реализованный предоставленной функцией.

0 голосов
/ 09 января 2019

JQuery имеет $.inArray

var names = ['search-resources', 'calendar'];
if ($.inArray('calendar', names) !== -1) {
    // do stuff
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...