--- title: String.prototype.lastIndexOf() slug: Web/JavaScript/Reference/Global_Objects/String/lastIndexOf tags: - JavaScript - Method - Prototype - Reference - String - lastIndexOf translation_of: Web/JavaScript/Reference/Global_Objects/String/lastIndexOf ---
lastIndexOf()
メソッドは、呼び出した {{jsxref("String")}} オブジェクトの中で、 fromIndex
から前方向に検索を始め、指定された値が最後に現れたインデックスを返します。値が見つからない場合は -1
を返します。
str.lastIndexOf(searchValue[, fromIndex])
searchValue
searchValue
が空文字列であった場合は、 fromIndex
を返します。
fromIndex
{{optional_inline}}+Infinity
です。 fromIndex >= str.length
の場合、文字列全体が検索されます。 fromIndex < 0
の場合は、 0
の場合と同じ動作になります。
searchValue
が最後に出現した位置です。見つからなかった場合は、 -1
になります。
文字列における文字は左から右にインデックス化されます。一番最初の文字の位置は 0
で、一番最後の文字は str.length - 1
です。
'canal'.lastIndexOf('a'); // returns 3 'canal'.lastIndexOf('a', 2); // 1 を返す 'canal'.lastIndexOf('a', 0); // -1 を返す 'canal'.lastIndexOf('x'); // -1 を返す 'canal'.lastIndexOf('c', -5); // 0 を返す 'canal'.lastIndexOf('c', 0); // 0 を返す 'canal'.lastIndexOf(''); // 5 を返す 'canal'.lastIndexOf('', 2); // 2 を返す
注: 'abab'.lastIndexOf('ab', 2)
は 2
を返し、 0
にはなりません。 fromIndex
は検索の開始位置を制約するものだからです。
lastIndexOf()
メソッドは大文字と小文字を区別します。例えば、以下の式は -1
を返します。
'Blue Whale, Killer Whale'.lastIndexOf('blue'); // -1 を返す
以下の例は、 {{jsxref("String.prototype.indexOf()", "indexOf()")}} と lastIndexOf()
を使用して文字列 "Brave new world
" の中の値の位置を示します。
let anyString = 'Brave new world'; console.log('先頭から見て最初に w が出現する位置: ' + anyString.indexOf('w')); // 8 と出力 console.log('末尾から見て最初に w が出現する位置: ' + anyString.lastIndexOf('w')); // 10 と出力 console.log('先頭から見た "new" の位置: ' + anyString.indexOf('new')); // 6 と出力 console.log('末尾から見た "new" の位置: ' + anyString.lastIndexOf('new')); // 6 と出力
仕様書 |
---|
{{SpecName('ESDraft', '#sec-string.prototype.lastindexof', 'String.prototype.lastIndexOf')}} |
{{Compat("javascript.builtins.String.lastIndexOf")}}