Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript包含-检查多个值_Javascript - Fatal编程技术网

Javascript包含-检查多个值

Javascript包含-检查多个值,javascript,Javascript,我刚刚注意到,当我有多个值(逗号分隔)时,我的.contains不起作用 如果删除contains中的第二个类,它可以正常工作: switch( true ) { case primaryHeaderClasses.contains('primary-header--center-logo-center-menu'): 执行.contains检查一个或多个类的正确方法是什么?contains不支持多个值,您应该创建一个循环并检查每个条目的值。据我所知,这是唯一可以做到这一点的方法。Contai

我刚刚注意到,当我有多个值(逗号分隔)时,我的
.contains
不起作用

如果删除contains中的第二个类,它可以正常工作:

switch( true ) {
case primaryHeaderClasses.contains('primary-header--center-logo-center-menu'):

执行
.contains
检查一个或多个类的正确方法是什么?

contains不支持多个值,您应该创建一个循环并检查每个条目的值。据我所知,这是唯一可以做到这一点的方法。

Contains不支持多个值,您应该创建一个循环并检查每个条目的值。据我所知,这是你能做到这一点的唯一方法。

如果你想做X,如果有任何一个类存在,为什么不这样做

if(primaryHeaderClasses.contains('primary-header--center-logo-center-menu') || primaryHeaderClasses.contains('primary-header--left-logo-secondary-menu')) {
    // Do stuff
}
通过添加
|
,您正在告诉“如果这或这是真的,请执行X”

如果您在JQuery和JavaScript方面有很好的水平,您可以使用以下表单:

if($("document:contains('primary-header--center-logo-center-menu'), document:contains('primary-header--left-logo-secondary-menu')")) {
    // Do stuff
}

如果你想做X,如果任何一个类都存在,为什么不这样做呢

if(primaryHeaderClasses.contains('primary-header--center-logo-center-menu') || primaryHeaderClasses.contains('primary-header--left-logo-secondary-menu')) {
    // Do stuff
}
通过添加
|
,您正在告诉“如果这或这是真的,请执行X”

如果您在JQuery和JavaScript方面有很好的水平,您可以使用以下表单:

if($("document:contains('primary-header--center-logo-center-menu'), document:contains('primary-header--left-logo-secondary-menu')")) {
    // Do stuff
}
您可以使用
.some()
来执行此操作

本质上,
.some()
所做的是使用函数检查数组的每个元素,如果任何元素返回true,则返回true。否则,它将返回false

在您的情况下,您希望使用

['primary-header--center-logo-center-menu', 'primary-header--left-logo-secondary-menu'].some(e => primaryheaderClasses.contains(e))
只有当PrimaryHeaderClass包含数组的任何元素
e
时,才会返回true

这也适用于所有浏览器 ()

您可以使用
.some()
来执行此操作

本质上,
.some()
所做的是使用函数检查数组的每个元素,如果任何元素返回true,则返回true。否则,它将返回false

在您的情况下,您希望使用

['primary-header--center-logo-center-menu', 'primary-header--left-logo-secondary-menu'].some(e => primaryheaderClasses.contains(e))
只有当PrimaryHeaderClass包含数组的任何元素
e
时,才会返回true

这也适用于所有浏览器
()

如果其中一个类存在,您希望它通过,还是仅当两个类都存在时才通过?您在这里使用的
case
表明您做了一些非常错误的事情。如果存在任何一个类,请选择执行X。您可以创建一个类列表,并使用contains对它们进行迭代。Contains不适用于多个类。无法使用多个值执行
Contains
。您只能运行它多次并检查每个值是否存在。您希望它在其中一个类存在时通过,还是仅在两个类都存在时通过?您在这里使用的
case
表明您做了一些非常错误的事情。如果存在任何一个类,请选择执行X。您可以创建一个类列表,并使用contains对它们进行迭代。Contains不适用于多个类。无法使用多个值执行
Contains
。您只能多次运行它并检查每个值是否存在。这是
开关的一部分,而不是变量声明<代码>const something.someMethod()
无论如何都没有意义。没有。代码段中缺少开关,因此我认为OP是输入错误:)缺少
swich
,但
const
仍然不适合。作为属于
开关的
案例
更有意义。答案的第一段无论如何都没有意义。这是
开关的一部分,而不是变量声明<代码>const something.someMethod()
无论如何都没有意义。没有。代码段中缺少开关,因此我认为OP是输入错误:)缺少
swich
,但
const
仍然不适合。作为属于
开关的
案例
更有意义。你答案的第一段无论如何都没有意义。