2013-09-11 2 views
1

Я имею массив как этот форматмассив 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"); 
} 

Пожалуйста, помогите мне ..

+0

Вы говорите, вы хотите проверить, что 'category.id' не равен любому значению в массиве? – nnnnnn

+0

@ dipesh, да, это верно – rams0610

+0

Что именно вы хотите проверить и вывести из выше, что работает, а что нет? –

ответ

1

Вы можете проверить, является ли значение в массиве (или, в данном случае, не в массиве), используя array 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; 
} 
0

Если вы пытаетесь сказать, что вы хотите проверить, что category.id не равен любому значению в массиве, то вы можете использовать .indexOf() method:

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

.indexOf() Обратите внимание, что не поддерживается в IE8 и старше, но MDN объясняет how to work around that.

+0

@DipeshParmar Это просто опечатка. – xdazz

0

Javascript не может быть настолько динамичным, что вам нужно, как показано ниже:

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

Это может быть при использовании 'eval()' в одном из своих явлений. – Sirko

+0

@ Сирко Да, это может быть. Но мы просто не используем 'eval()' :) – xdazz

+0

@Sirko - Друзья не позволяют друзьям использовать 'eval()'. (На самом деле я не согласен с тем, что 'eval()' is _allways_ - плохая идея, но я действительно не думаю, что это уместно здесь.) – nnnnnn

Смежные вопросы