Written by Kasumi

【簡単】JavaScriptを使って任意の文字列が配列内にあるか検索する方法【indexOfメソッド】

JavaScriptを使って任意の文字列を配列から検索、一致した文字列が入ってるか探りたい。

本記事ではJavaScriptのindexOfメソッドを使って簡単な文字列検索フォームを作り、このような悩みを解決します。

実装サンプル

See the Pen
Untitled
by Kohei (@kouk05)
on CodePen.0

配列から文字列を検索する簡単なフォームサンプルです。

配列には以下スポーツ名が宣言されてます。

var sports = ["野球", "バドミントン", "バスケットボール"];

検索ボックスに任意のスポーツ名を入れます。

スポーツ名が上記配列内にあれば【配列に含まれてます。】を出力。

無かったら【配列に含まれてません。】を出力するようになってます。

実装方法は次章より説明します。

配列から文字列を検索するJavaScriptコード例

     // 配列
  var sports = ["野球", "バドミントン", "バスケットボール"];
    // 検索ボタンID
  var btn = document.getElementById("btn");
    // 出力テキストID
  var txt = document.getElementById("txt");
    // 検索ボタンをクリックしたら
  btn.addEventListener("click", function () {
    // テキストボックスID
    var input = document.getElementById("input");
    // テキストボックスの値を取得
    var val = input.value;
    // テキストボックスに入力された文字列が配列内にあったら
    if (sports.indexOf(val) !== -1) {
      txt.textContent = "配列に含まれてます。";
    } else {
      txt.textContent = "配列に含まれてません。";
    }
  });

前章の実装サンプルで使ってた配列から文字列を検索するフォームのJavaScriptコードです。

検索フォームなのでaddEventListener()関数等を使い、検索ボタンをクリックしたらinputテキストボックス内の値を取得するコードを書いてます。

文字列が一致してるかの確認にはindexOfメソッドを用います。

配列内に任意の文字列があるかの確認には以下のようにindexOfメソッドとif文を用いて記述します。

  if (配列.indexOf(任意の文字列) !== -1) {
    console.log("任意の文字列が含まれてる");
  } else {
    console.log("任意の文字列が含まれてない");
  }

indexOfメソッドは検索する対象が含まれてなかったら、返り値として-1を返すのでそれを利用し、配列内に含まれてる・含まれてないを判定してます。

以上の流れで実装できます。

目次

関連記事

JavaScript

JavaScriptでHTMLの埋め込む場所を指定する方法

2022.10.17
956
JavaScript

【簡単】JavaScriptを使って文字列を数値、数値を文字列に変換する方法

更新日:2022.09.09
726
JavaScript

PACE.jsを使って簡単ローディング画面の作り方

更新日:2019.11.28
2058
JavaScript

【JavaScript】スプレット構文(…)を使い、配列・オブジェクトを追加・連結(マージ)する方法

2022.12.04
722