0

配列があり、アイテムが配列にないかどうかをチェックする inArray() を使用しようとしています

var popUpArray = ['join','reset_password','photos','session_expired'];


if($.inArray(urlType, popUpArray) != 0) {
  process code...
}

基本的に、urlType 変数が配列内の値のいずれとも一致しない場合、if ステートメント内でコードを処理したいと考えています。

最初の値「結合」では機能しますが、他の値では機能しません。これは、1 つの項目で一致しないとすぐに進行するためだと理解しています。

var urlType が配列内のどのアイテムとも一致しなかった場合にのみ IF ステートメントに進むように、これを書き直す方法を考えています。

どうも

4

1 に答える 1

2

ゼロインデックスであるため、結合で機能します。これを試して:

if($.inArray(urlType, popUpArray) == -1) {

}

ドキュメントごと:

$.inArray() メソッドは、一致が見つからない場合に -1 を返すという点で、JavaScript のネイティブ .indexOf() メソッドに似ています。配列内の最初の要素が値と一致する場合、$.inArray() は 0 を返します。

JavaScript は 0 を大まかに false と同等 (つまり 0 == false ですが、0 !== false) として扱うため、配列内の値の存在を確認する場合は、それが等しくない (またはより大きい) かどうかを確認する必要があります。 ) -1.

http://api.jquery.com/jQuery.inArray/

于 2012-10-23T06:43:01.533 に答える