tamakipedia

鎌倉でフロントエンドエンジニアをしています。Wordpress/Javascript/JQuery が得意で、現在React勉強中です!

【 javascript 】文字列を検索する indexOf について

reactを使ったmemoアプリ作成の中で
indexOf というオブジェクトに出会ったので使用例をまとめました。

syntax

string.indexOf(searchvalue, start)

文字列や配列に対して、調べたい文字(searchvalue)と検索開始(start)の位置を指定します。

使用例

サンプルを四つ紹介していきます。  

//sample1
var question1 = "文字列の中に'れ'は何番目にあるでしょうか";
var answer1 = question1.indexOf("れ");
console.log(answer1);  //7

indexOf()は、第一因数に指定した文字を検索する関数です。
この場合、「れ」は先頭の文字「文」から7番目なので
answerには7が代入されます。
ちなみに先頭は0です。
 

//sample2
var question2 = "文字列の中に'文字'は何番目にあるでしょうか";
var answer2 = question2.indexOf("文字",3);
console.log(answer2);  //7

indexOfの第二因数が「3」となっています。
この場合文字列の三文字目から右に調べていき、
最初に該当する「文字」の位置を反映してくれます。
 
第二因数を「0」にすると、0文字目でヒットするので、
answer2 = 0 となります。
 

//sample3
var array1 = [ 'こんにちは', 'おはよう', 'こんばんは'];
var index1 = array1.indexOf('こんばんは');
console.log(index1);  //2

配列を検索することも可能です。
該当する項目のインデックスを反映させます。
 

//sample4
var array2 = [ 'こんにちは', 'おはよう', 'こんばんは'];
var index2 = array2.indexOf('おやすみ');
console.log(index2);  //-1

ヒットしない場合は-1を返します。
 
 

おわりに

現在Reactの勉強中なのですがそれ以前にmapやindexOfなど、
よく理解できていなかったjsの関数も続々登場してきている状態です。
 
( フレームワークもjsの関数も学べて一石二鳥です笑 )

なのでこういった初歩的な関数もバンバン記事にして
使いかたを整理していきたいと思います。

おしまい--!

:q