我有一个像这种格式的数组
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");
}
请帮帮我..
答案 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");
}