2015-09-08 4 views
1

Итак, у меня есть массив в javascript и вы хотите узнать, существует ли в нем значение ... хотя оно возвращает false, хотя 120 существует в массиве. Я написал свой собственный метод, чтобы справиться с этим в то же время, хотя просто хотел узнать, может ли кто-нибудь еще увидеть, что я делаю неправильно здесь?jquery inArray непредвиденное поведение

var myArray = [120, 121, 222]; 

if (jQuery.inArray(120, myArray)) { 
    alert("in my array"); 
} else { 
    alert("not in array"); 
} 

jsFiddle - http://jsfiddle.net/453ebncs/

ответ

3

Поскольку jQuery.inArray возвращение -1 или положение (в вашем случае это будет 0) и 0 является false, вам нужно проверить >= 0

var myArray = [120, 121, 222]; 
 
if (jQuery.inArray(120, myArray) >= 0) { 
 
    alert("in my array"); 
 
} else { 
 
    alert("not in array"); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

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