1

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

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");
}

请帮我..

4

3 回答 3

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;
}
于 2013-09-11T09:51:33.503 回答
0

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

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

请注意,.indexOf()IE8 和更早版本不支持此功能,但 MDN 解释了如何解决此问题

于 2013-09-11T09:50:22.610 回答
0

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

if(categoryid != 0 && aa.indexOf(category.id) == -1) {
  alert("value not present");
} 
于 2013-09-11T09:50:32.530 回答