#javascript #string #list #search #contains
Вопрос:
Я хочу определить, содержится ли строка из списка «веб-сайты» в другой строке «URL», и также получить значение строки из списка.
Приведенный ниже код может определить, можно ли найти строку из «веб-сайтов» в «url», но не удается определить, какая строка из списка вызвана .some().
Я получаю следующую ошибку: «Ошибка ссылки: веб-сайт не определен»
Есть ли какой-либо способ получить значение строки из «веб-сайтов» после обнаружения, что » url «содержит некоторое значение » веб-сайтов»?
websites = [
'google',
'youtube',
'twitter',
]
var url = window.location.href // e.g. returns www.google.com/soooomethingelse
if (websites.some(website => url.includes(website)))
{
console.log(website) // here I want to log 'google' from 'websites'
}
Ответ №1:
Я думаю, что намного проще было бы просто использовать .find
метод, который возвращает элемент при выполнении условия в функции со стрелкой (функция со стрелкой возвращает true
).
websites = [
'google',
'youtube',
'twitter',
]
var url = window.location.href // e.g. returns www.google.com/soooomethingelse
var website = websites.find((el) => url.includes(el))
if (website) {
console.log(website) // here I want to log 'google' from 'websites'
}
Комментарии:
1. Да, это именно то, что я искал, большое вам спасибо!