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, falseのように変更すると、ifステートメントはfalseになりますが、そうあるべきです。

基本的に、このコードで実行する必要があるのは、配列内のすべての値がである場合にのみtrueになることです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 に答える