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

は IE8 以前ではサポートされて.indexOf()いませんが、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 に答える