2020年4月9日javascriptどのプログラミング言語を使っていても文字列や配列に対して「特定の文字列が含まれているか?」「配列内に存在するか?」という判定を行うことがよくあります。それにまつわることで、「indexOf」に対してなるほどと妙に腑に落ちたことがあったので記事にします。言語は「javascript」です。スポンサーリンク実際に見てみるまずは実際にどのような結果になったかを見てみます。"."];テストする文字列と配列を用意しました。配列の要素検索document.write("配列の要素検索:"+array.indexOf("Luck"));それぞれ、「Luck」が含まれるかをindexOf(上記)で調べてみます。実際に下記で実行しましたのでご確認ください。文字列検索の方は最初に文字が現れる位置を返してくれます。0始まりですので、「This」を探したとすると、「0」が返ってきます。thisの「t」が0番目ということです。よって、「Luck」の「L」は「8」が返ってきます。配列の要素検索も同じく0始まりですので、0番目が「this」、1番目が「is」となり、「Luck」は2番目となります。indexOfの意味を考えると「index」は索引という意味です。書物の中の語句や事項の所在を捜し出す手引として編集した表や書物。「索引」でGoogle検索つまり、目次みたいなことですね。文字列も配列も最初に見つかった位置を返してくれます。言葉の意味からですと、個人的には配列の方がしっくりきます。くる理由は、配列のarray[i]の「i」の部分をインデックスと呼ぶからだと思います。それでは、今回妙に腑に落ちた文字列検索の方にフォーカスします。Luck.」は1文字ずつの配列として扱えます。」・・・ということです。よってfor文で回すこともできますので、下記で実際に何が入っているか確認してみます。予想通りの結果になりました。“k”]」という部分配列が存在するかどうかを検索してくれて、見つかれば最初の位置(インデックス)を返してくれるということかと納得しました。※あっているかは別の話です。すみません納得した理由が分かりにくいかと思いますが...indexOfが配列を対象とした関数と考えられ、文字列も配列として考えれば、文字列にも配列にもindexOfは同じように使えるという感じで妙に納得できたというお話でした。実はindexOfは文字列検索でしか使った記憶はなかったので、寧ろ配列にも使えるんだーということからスタートしました。ちなみに、見つからない場合は「-1」を返すので判定で利用できます。