→
その String 中で、指定位置から指定文字列を前方に検索し最初に現れた位置を返します。
String | String、文字列。 |
---|---|
searchValue | 検索する値を表す文字列です。searchValue が空文字列であった場合は、fromIndex を返します。 |
fromIndex | 省略可。比較の先頭とみなされる文字列の最後の文字の位置です。既定値は +Infinity です。
fromIndex ≧ String.length の場合、文字列全体が検索されます。 fromIndex < 0 の場合は、0 の場合と同じ動作になります。 |
Number。見つからなかった場合は、-1 になります。
文字列における文字は左から右にインデックス化されます。一番最初の文字の位置は 0 で、一番最後の文字は String.length -1 です。
D='canal'.lastIndexOf('a'); //=3 D='canal'.lastIndexOf('a', 2); //=1 D='canal'.lastIndexOf('a', 0); //=-1 D='canal'.lastIndexOf('x'); //=-1 D='canal'.lastIndexOf('c', -5); //=0 D='canal'.lastIndexOf('c', 0); //=0 D='canal'.lastIndexOf(''); //=5 D='canal'.lastIndexOf('', 2); //=2
注: 'abab'.lastIndexOf('ab', 2) は 2 を返し、0 にはなりません。fromIndex は検索の開始位置を制約するものだからです。
lastIndexOf() メソッドは大文字と小文字を区別します。例えば、以下の式は -1 を返します:
D='Blue Whale, Killer Whale'.lastIndexOf('blue'); //=-1
以下の例は、indexOf() と lastIndexOf() を使用して文字列 "Brave new world" の中の値の位置を示します:
let anyString = 'Brave new world'; D=anyString.indexOf('w'); //=8 D=anyString.lastIndexOf('w'); //=10 D=anyString.indexOf('new'); //=6 D=anyString.lastIndexOf('new'); //=6