javascript 使用JS include检查多个值

s4n0splo  于 2023-02-07  发布在  Java
关注(0)|答案(2)|浏览(444)

有一个函数可以用window.location.href检查url的内容,如果URL包含一个特定的字符串,它应该返回true:

const doesItContain = () => {
  const url = window.location.href;
  return url.includes('/items');
};

如果url包含/items,则返回true,如果需要检查多个字符串(多个页面)并在其中一个字符串存在时返回true,则会出现问题。例如:

const doesItContain = () => {
  const url = window.location.href;
  return url.includes('/items', '/users');
};

它只对列表中的第一个字符串返回true。是否有办法检查两个或多个字符串?

tsm1rwdh

tsm1rwdh1#

String.prototype.includes需要一个参数。其他参数将被忽略。
可以使用some迭代字符串数组,并检查是否至少有一个元素满足条件:

const doesItContain = () => {
  const url = window.location.href;
  return ['/items', '/users'].some(el => url.includes(el));
};
6tdlim6h

6tdlim6h2#

可以使用正则表达式,用|分隔要检查的每个字符串。

return /\/items|\/users/.test(url);

相关问题