abeshi blog
カテゴリーで検索

JavaScriptのindexOfを理解する

2021年11月17日

実務でindexOfが出てきて、なんだそれって思ったのでメモ

indexOfとは


indexOfメソッドは、指定された部分文字列が最初に登場した位置を、文字列の先頭を0としたインデックス番号でかえします。
文字列がない場合、戻り値は-1になります。

ん??
多分コードで見た方が分かりやすい。

const str = "こんにちは"

const reslut = str.indexOf("こんにちわ")
console.log(reslut)
// 0


一致しているので0を返します。

const str = "こんにちは"

const reslut = str.indexOf("こ")
console.log(reslut)
// 0


一致しているので0を返します。

const str = "こんにちは"

const reslut = str.indexOf("こんばんわ")
console.log(reslut)
// -1


この場合一致しないので-1が返されます。

検索位置の変更


indexOf( 検索したい文字, 検索開始位置 );


第二引数に検索位置を指定することができます。

const str = "こんにちは"

const reslut = str.indexOf("こ", 0)
console.log(reslut)
// 0


インデックスは0から始まるので0であれば"こ"が検出され0が返ります。

const str = "こんにちは"

const reslut = str.indexOf("こ", 1)
console.log(reslut)
// -1



1を指定すると、"んにちは"から"こ"を検索することになるので検出されません。
よって-1を返します。