如何检查字符串是否包含列表的任何元素并获取元素的值?

How to check if a string contains any element of a list & get the value of the element?

我想确定列表 'websites' 中的字符串是否包含在另一个字符串中 'url' 并从列表中获取字符串的值。

下面的代码可以确定是否可以在 'url' 中找到来自 'websites' 的字符串,但无法返回触发 .some().

的列表中的哪个字符串

我收到以下错误:“ReferenceError:网站未定义”

在发现 'url' 包含一些 'websites' 的值后,有没有办法从 'websites' 中获取字符串的值?

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'
}

我认为只使用 .find 方法会容易得多,其中 returns 满足箭头函数中的条件时的元素(箭头函数 returns 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'
}