JavaScriptで配列をループして特定の文字が含まれているか検索する方法
概要
今回は、文字列の配列を第1引数として受け取り、1文字を第2引数として受け取るJavaScript関数を作成します。
この関数は、第2引数で指定された文字が配列内のいずれかの文字列に含まれていれば true を返し、どこにも存在しなければ false を返す必要があります。
サンプルコード
実際のコードは以下の通りです。
const arr = ['first', 'second', 'third', 'last'];
const searchForLetter = (arr = [], letter = '') => {
for(let i = 0; i < arr.length; i++){
const el = arr[i];
if(!el.includes(letter)){
continue;
};
return true;
};
return false;
};
console.log(searchForLetter(arr, 's'));
console.log(searchForLetter(arr, 'x'));コードの解説
この関数の処理の流れは次のようになっています。
1. 配列のインデックスをループで走査する
for文を使って、配列の先頭(インデックス0)から末尾まで順番に各要素へアクセスします。
2. includes() メソッドで文字の有無を判定する
各要素に対して String.prototype.includes() を呼び出し、指定された文字が含まれているかどうかをチェックします。含まれていない場合は continue で次の要素へスキップします。
3. 見つかった時点で即座に true を返す
条件を満たす要素が1つでも見つかれば、それ以上ループを続けずに true を返して処理を終了します。これにより無駄な計算を避けることができます。
4. 最後まで見つからなければ false を返す
すべての要素を確認しても該当する文字が存在しなかった場合のみ、false を返します。
出力結果
コンソールには以下のように出力されます。
true false
最初の呼び出しでは 's' が 'first' や 'second' などに含まれているため true となり、2回目の呼び出しでは 'x' がどの文字列にも存在しないため false が返されています。
-
JavaScript配列で要素を検索する方法を徹底解説!find()メソッドの使い方
JavaScriptで配列の中から特定の要素を検索したい場面は非常に多くあります。本記事では、最もよく使われるfind()メソッドを中心に、実際に動作するサンプルコードとともに分かりやすく解説します。 find()メソッドとは find()メソッドは、配列の各要素に対して指定したテスト関数(コールバック関数)を実行し、条件を満たした最初の要素の値を返します。条件に一致する要素が存在しない場合は undefined を返します。 基本構文 arr.find(callback(element[, index[, array]])[, thisArg]) callback: 各要素をテストする関数
-
JavaScriptでオブジェクトを含む「配列の配列」をループ処理する方法
JavaScriptでオブジェクトを含む多次元配列をループするには?JavaScriptでは、オブジェクトを含む配列の配列(入れ子構造の配列)をループ処理する際、forEach()メソッドをネストして使用し、さらにfor...inループで各オブジェクトのプロパティにアクセスするのが一般的な方法です。以下に、具体的な実装例を紹介します。コード例<!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device