ホームページ  >  記事  >  ウェブフロントエンド  >  要素が array_javascript スキル内にあるかどうかを判断するための JS 実装コード

要素が array_javascript スキル内にあるかどうかを判断するための JS 実装コード

WBOY
WBOYオリジナル
2016-05-16 15:07:192579ブラウズ

1. JQuery

JQuery を使用している場合は、inArray() 関数を使用できます。

jquery inarray()関数の詳しい説明
jquery.inarray(値,配列)
配列内の最初の引数の位置を決定します (見つからない場合は -1 を返します)。

配列内の最初のパラメータのインデックスを決定します (見つからない場合は -1)。
戻り値
jQuery
パラメータ
値 (任意): 配列内に
が存在するかどうかを確認するために使用されます。 array (array): 処理対象の配列。


使用法:

コードをコピーします コードは次のとおりです:

$.inArray(値, 配列)

2. 独自の関数を作成します

function contains(arr, obj) {
  var i = arr.length;
  while (i--) {
    if (arr[i] === obj) {
      return true;
    }
  }
  return false;
}

使用法:

コードをコピーします コードは次のとおりです:

var arr = 新しい配列(1, 2, 3);
contains(arr, 2);// true を返す contains(arr, 4);// false を返す

3. 配列

に関数を追加します。

Array.prototype.contains = function (obj) {
  var i = this.length;
  while (i--) {
    if (this[i] === obj) {
      return true;
    }
  }
  return false;
}
使用方法:

コードをコピーします コードは次のとおりです:
[1, 2, 3].contains(2) // true を返します
[1, 2, 3].contains('2') // false を返します


4.

のインデックスを使用します。 ただし、一部の IE バージョンでは IndexOf に互換性がないという問題があります。次の方法を使用できます。


if (!Array.indexOf) {
  Array.prototype.indexOf = function (obj) {
    for (var i = 0; i < this.length; i++) {
      if (this[i] == obj) {
        return i;
      }
    }
    return -1;
  }
}
まず Array にindexOf メソッドがあるかどうかを確認し、ない場合はこのメソッドを拡張します。

したがって、上記のコードは、indexOf メソッドを使用するコードの前に記述する必要があります。


var arr = new Array('1', '2', '3');
if (!Array.indexOf) {
  Array.prototype.indexOf = function (obj) {
    for (var i = 0; i < this.length; i++) {
      if (this[i] == obj) {
        return i;
      }
    }
    return -1;
  }
}
var index = arr.indexOf('1');//为index赋值为0
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。