JavaScriptの配列に値が存在するか検索するメソッドにindexOf()というものがあります。
indexOf()メソッドの使い方
1 2 3 4 |
var array = [0, 10, 4,'string']; console.log(array.indexOf(10)); // 実行結果:1 console.log(array.indexOf('string')); // 実行結果:4 |
indexOf()メソッドでは()内にある値(引数)が何番目にあるかを返すメソッドです。
3行目に書いてあるコードでは10という値が何番目にあるかを取得します。配列は0から始まるため、1という値が返ってきています。また、4行目のコードのように文字列も検索することができます。
配列に値がない場合
1 2 3 |
var array = [0, 10, 4,'string']; console.log(array.indexOf(30)); // 実行結果:-1 |
もし引数の値が配列の中になかった場合は-1という値が返ってきます。これを活用すると以下のように使うこともできます。
1 2 3 4 5 6 7 |
var array = [0, 10, 4, 'string']; if(array.indexOf(60) >= 0){ console.log('存在します'); }else{ console.log('存在しません'); }; // 実行結果:存在しません |
array.indexOf(60)の実行結果が0以上の場合は「存在する」を返し、それ以外の実行結果の場合は「存在しない」を返すというものです。上の場合、array.indexOf(60)の実行結果は-1なので「存在しません」が返ってきています。