当第一个元素匹配时,jQuery inArray不起作用

Dyl*_*oss 3 javascript arrays jquery

我正在尝试检查一个数组,我创建的数组是否在数组中(任何地方)或不是.如果值在数组中的任何位置,则需要执行一项操作,否则执行另一项操作.

var Arr = [false, false, false, false, false];
// It works with the following:
// Arr = [true, false, false, false, false]

if(!$.inArray(false, Arr))
{
        //False is not in the array at all - so continue with code  
}
else
{
       //False was found in the array
}
Run Code Online (Sandbox Code Playgroud)

所以上面的代码就好像if语句是真的一样,但显然不是.

如果我将数组更改为:true, false, false, false, falseif语句然后是假的,因为它应该是.

基本上我需要这个代码只有在数组中的每个值都是真的时才这样做true.

elc*_*nrs 13

$.inArray返回项目的索引或-1如果没有找到项目:

if ($.inArray(false, Arr) > -1) {
  // found
} else {
  // not found
}
Run Code Online (Sandbox Code Playgroud)

首先检查文档总是有用的:http://api.jquery.com/jQuery.inArray/


epa*_*llo 5

jQuery.inArray( value, array [, fromIndex ] ) 返回:数字

描述:在数组中搜索指定的值并返回其索引(如果未找到,则返回-1).

inArray返回一个整数!

所以当它在索引处为0时,这将是一个错误的值!

你需要检查> -1