jQuery 配列の中に特定の値や文字が存在するかを判別する方法(IE7以降でも動作) – javascript、array.indexOf()の代替として

この記事は4年前に書かれました。不適当な記述を含む場合がありますので、参考程度に留めてください。

どうもこんにちは。Toshikuraです。今回のTipsは【jQuery 配列の中に特定の値や文字が存在するかを判別する方法(IE7以降でも動作) – javascript、array.indexOf()の代替として】です。Arrayの中に指定・特定した値や文字が存在するかを判別し、そのインデックス番号を返します。

コード

var a = new Array(‘1′,’いち’,’html’,’jQuery’,’JQUERY’,’red’,’red’,’green’);
console.log($.inArray(‘html’, a));

例ではコンソールに【2】が出力されます。配列内に該当がない場合は【-1】となります。不要かとは思いましたが…一応デモも作成しました。”green”や”JQUERY”等、他の文字を検索したらどうなるかご確認ください。

ちなみにjQueryを使用しなくてもjavascriptの【array.indexOf()】で同様の判別が行えますが、IE9以降でしか動作しませんのでご注意ください。詳しくはMDN|Array.prototype.indexOfをご参照ください。

以上になります。

参照:jQuery.inArray(value, array)
   MDN|Array.prototype.indexOf