2013-02-22 84 views
3

我試圖檢查一個數組,我創建了一個值是否在數組中(任何地方)是否存在。如果值在數組中的任何地方,它需要做一件事,否則就是另一件事。當第一個元素匹配時,jQuery inArray不起作用

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, false if語句然後是false,但它應該是。

基本上我需要這段代碼要做的只是如果數組中的每個值都是true

+3

這是一個名字很差的方法。他們應該像標準方法Arr.indexOf(false)=== -1'那樣將它稱爲indexOf()。 – 2013-02-22 00:58:34

回答

5

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

說明:搜索數組中的指定值並返回 其索引(如果未找到則返回-1)。

inArray返回一個整數!

因此,當它在索引爲0時,這將是一個虛假的價值!

您需要檢查> -1

相關問題