Javascript数组和if条件

时间:2013-09-11 09:47:10

标签: javascript

我有一个像这种格式的数组

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

var categoryid = ["a","x","e","w","q","p"];

我想像这样检查这个列表

for(var ii = 0; ii < aa .length; ii++){
iid += " && category != "+aa [ii];
}

另外,我需要检查这样的条件,

if(categoryid != 0 iij) { 
    alert("value not present");
}

这里的情况并非如此。在这里,我需要这种格式

if(categoryid != 0 && categoryid != 'a') {
    alert("value not present");
}

请帮帮我..

3 个答案:

答案 0 :(得分:1)

您可以使用数组的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;
}

答案 1 :(得分:0)

如果您想要测试category.id不等于数组中的任何值,那么您可以使用.indexOf() method

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

请注意,IE8及更早版本不支持.indexOf(),但MDN会解释how to work around that

答案 2 :(得分:0)

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

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