4

我正在尝试检查我创建的一个数组,以确定一个值是否在数组(任何地方)中。如果该值在数组中的任何位置,它需要做一件事,否则另一件事。

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
}

所以上面的代码就像 if 语句是真的一样工作,但它显然不是。

如果我将数组更改为:true, false, false, false, falseif 语句则为假,因为它应该是。

基本上我需要这段代码做的是只有当数组中的每个值都是true.

4

2 回答 2

14

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

if ($.inArray(false, Arr) > -1) {
  // found
} else {
  // not found
}

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

于 2013-02-22T00:52:23.213 回答
5

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

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

inArray 返回一个整数!

因此,当它的索引为 0 时,这将是一个错误的值!

您需要检查 > -1

于 2013-02-22T00:53:22.650 回答