Javascript数组和if条件

Javascript数组和if条件,javascript,Javascript,我有一个这样的数组格式 var aa = ["a","b","c","d","e","f"]; var categoryid = ["a","x","e","w","q","p"]; if(categoryid != 0 && categoryid != 'a') { alert("value not present"); } 我想像这样检查一下这个列表 for(var ii = 0; ii < aa .length; ii++){ iid += " &

我有一个这样的数组格式

var aa = ["a","b","c","d","e","f"];

var categoryid = ["a","x","e","w","q","p"];
if(categoryid != 0 && categoryid != 'a') {
    alert("value not present");
}
我想像这样检查一下这个列表

for(var ii = 0; ii < aa .length; ii++){
iid += " && category != "+aa [ii];
}
在这里,这种情况并不是这样的。这里我需要像这样的格式

var aa = ["a","b","c","d","e","f"];

var categoryid = ["a","x","e","w","q","p"];
if(categoryid != 0 && categoryid != 'a') {
    alert("value not present");
}

请帮助我。

如果您试图说要测试
类别。id
不等于数组中的任何值,则可以使用:


请注意,IE8及更早版本中不支持
.indexOf()
,但MDN对此进行了解释。

如果您想测试
类别.id
不等于数组中的任何值,则可以使用:


请注意,
.indexOf()
在IE8及更早版本中不受支持,但MDN解释道。

Javascript不能如此动态,您需要的是如下所示:

if(categoryid != 0 && aa.indexOf(category.id) == -1) {
  alert("value not present");
} 

Javascript不能如此动态,您需要的是:

if(categoryid != 0 && aa.indexOf(category.id) == -1) {
  alert("value not present");
} 

您可以使用数组的
indexOf
方法(假设使用较新的浏览器)检查值是否在数组中(或者在本例中不在数组中)

或者,尝试以下方法:

function in_array(array,value) {
    if( array.indexOf) return array.indexOf(value) > -1;
    for( var i=0, l=array.length; i<l; i++) {
        if( array[i] == value) return true;
    }
    return false;
}
_数组中的函数(数组,值){ if(array.indexOf)返回array.indexOf(value)>-1;
对于(var i=0,l=array.length;i您可以使用数组的
indexOf
方法(假设使用较新的浏览器)检查值是否在数组中(或者在本例中不在数组中)

或者,尝试以下方法:

function in_array(array,value) {
    if( array.indexOf) return array.indexOf(value) > -1;
    for( var i=0, l=array.length; i<l; i++) {
        if( array[i] == value) return true;
    }
    return false;
}
_数组中的函数(数组,值){ if(array.indexOf)返回array.indexOf(value)>-1;

对于(var i=0,l=array.length;i您是说您要检查
category.id
是否不等于数组中的任何值?@dipesh,是的,它是当前您要检查的内容,从上面的内容中,哪些是有效的,哪些是无效的?在
if(categoryid!=0 iij)的条件下
iiij
有什么用
?也是
categoryid
还是
category.id
?对不起,我没认出它。你是说你想检查
category.id
不等于数组中的任何值吗?@dipesh,是的,它是当前的,你到底想检查什么,从上面检查出什么在工作,什么不工作?中的
iiij
是什么条件
if(categoryid!=0 iiij)
?也是
categoryid
category.id
?抱歉,未识别it@DipeshParmar这只是一个输入错误。@DipeshParmar这只是一个输入错误。当在其中一个外观中使用
eval()
时,它可能是。@Sirko是的,它可能是。但我们只是不使用
eval()
:)@Sirko-朋友不允许朋友使用
eval()
(事实上,我不同意
eval()
总是一个坏主意,但我真的认为它在这里不合适。)@nnnnnn当然,这不是
eval()
的有效用例(但也有一些)。我只是想纠正“这不可能”的说法。当在某个外观中使用
eval()
时,它可能是。@Sirko是的,它可能是。但我们只是不使用
eval()
:)@Sirko-朋友们不让朋友们使用
eval()
(实际上我不同意
eval()
总是一个坏主意,但我真的认为它在这里不合适。)@nnnnnn当然,这不是
eval()
的有效用例(但也有一些)。我只是想更正“这是不可能的”这句话。