配列内の値を検索する

配列内に特定の値があるか検索する方法をメモ。

サンプルコード

for文で調べる方法です。

JavaScript

// 検索する配列
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

// 検索する配列
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
 

このエントリーをはてなブックマークに追加

関連記事

コメントを残す

メールアドレスが公開されることはありません。
* が付いている欄は必須項目です

CAPTCHA


コメントが承認されるまで時間がかかります。

2024年11月
 12
3456789
10111213141516
17181920212223
24252627282930