配列内に特定の値があるか検索する方法をメモ。
サンプルコード
for文で調べる方法です。
JavaScript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | // 検索する配列 var arr = [ 'a' , 'b' , 'c' , 'd' , 'e' ]; // 1つ目のサンプル var serachStr = 'c' ; // 検索する文字列 var result = false ; // 結果 for ( var i = 0; i < arr.length; i++) { // 一致する文字列が見つかった場合は結果をtrueに変更する if (arr[i] === serachStr) { result = true ; break ; } } console.log( '1番目' , result); // true // 2つ目のサンプル serachStr = 'f' ; // 検索する文字列 result = false ; // 結果 for ( var i = 0; i < arr.length; i++) { // 一致する文字列が見つかった場合は結果をtrueに変更する if (arr[i] === serachStr) { result = true ; break ; } } console.log( '2番目' , result); // false |
次に、indexOf()を使う方法です。
indexOf()は指定した値が配列の何番目にあるかを返すメソッドで、配列内にない場合は-1を返します。
JavaScript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | // 検索する配列 var arr = [ 'a' , 'b' , 'c' , 'd' , 'e' ]; // 1つ目のサンプル var serachStr = 'c' ; // 検索する文字列 var result = arr.indexOf(serachStr); console.log( '1番目' , result); // 2 // 一致する文字列が見つかった場合 if (result >= 0) { console.log( 'ありました' ); } else { console.log( 'ありませんでした' ); } // 2つ目のサンプル serachStr = 'f' ; // 検索する文字列 result = arr.indexOf(serachStr); console.log( '2番目' , result); // -1 // 一致する文字列が見つかった場合 if (result >= 0) { console.log( 'ありました' ); } else { console.log( 'ありませんでした' ); } |
配列内にあるかどうかを判定する場合、indexOf()の戻り値が0以上かどうかで判定できます。
配列内の値を検索するデモページ2
コメントが承認されるまで時間がかかります。