String.prototype.lastIndexOf()

String 值的 lastIndexOf() 方法搜索此字符串并返回指定子字符串最后一次出现的索引。它采用可选的起始位置,并返回索引小于或等于指定数字的指定子字符串的最后一次出现。

¥The lastIndexOf() method of String values searches this string and returns the index of the last occurrence of the specified substring. It takes an optional starting position and returns the last occurrence of the specified substring at an index less than or equal to the specified number.

Try it

语法

¥Syntax

js
lastIndexOf(searchString)
lastIndexOf(searchString, position)

参数

¥Parameters

searchString

要搜索的子字符串。所有值都是 强制为字符串,因此省略它或传递 undefined 会导致 lastIndexOf() 搜索字符串 "undefined",这很少是你想要的。

position Optional

该方法返回指定子字符串在小于或等于 position 的位置最后一次出现的索引,默认为 +Infinity。如果 position 大于调用字符串的长度,则该方法搜索整个字符串。如果 position 小于 0,则行为与 0 相同 — 即,该方法仅在索引 0 处查找指定的子字符串。

  • 'hello world hello'.lastIndexOf('world', 4) 返回 -1 — 因为,虽然子字符串 world 确实出现在索引 6 处,但该位置不小于或等于 4
  • 'hello world hello'.lastIndexOf('hello', 99) 返回 12 — 因为 hello 在小于或等于 99 的位置上最后一次出现是在位置 12 处。
  • 'hello world hello'.lastIndexOf('hello', 0)'hello world hello'.lastIndexOf('hello', -5) 都返回 0 — 因为两者都会导致该方法仅在索引 0 处查找 hello

返回值

¥Return value

找到最后一次出现的 searchString 的索引,如果未找到,则为 -1

¥The index of the last occurrence of searchString found, or -1 if not found.

描述

¥Description

字符串是零索引的:字符串第一个字符的索引是 0,字符串最后一个字符的索引是字符串长度减 1。

¥Strings are zero-indexed: The index of a string's first character is 0, and the index of a string's last character is the length of the string minus 1.

js
"canal".lastIndexOf("a"); // returns 3
"canal".lastIndexOf("a", 2); // returns 1
"canal".lastIndexOf("a", 0); // returns -1
"canal".lastIndexOf("x"); // returns -1
"canal".lastIndexOf("c", -5); // returns 0
"canal".lastIndexOf("c", 0); // returns 0
"canal".lastIndexOf(""); // returns 5
"canal".lastIndexOf("", 2); // returns 2

区分大小写

¥Case-sensitivity

lastIndexOf() 方法区分大小写。例如,以下表达式返回 -1

¥The lastIndexOf() method is case sensitive. For example, the following expression returns -1:

js
"Blue Whale, Killer Whale".lastIndexOf("blue"); // returns -1

示例

¥Examples

使用 indexOf()和 lastIndexOf()

¥Using indexOf() and lastIndexOf()

以下示例使用 indexOf()lastIndexOf() 来查找字符串 "Brave, Brave New World" 中的值。

¥The following example uses indexOf() and lastIndexOf() to locate values in the string "Brave, Brave New World".

js
const anyString = "Brave, Brave New World";

console.log(anyString.indexOf("Brave")); // 0
console.log(anyString.lastIndexOf("Brave")); // 7

规范

Specification
ECMAScript Language Specification
# sec-string.prototype.lastindexof

¥Specifications

浏览器兼容性

BCD tables only load in the browser

¥Browser compatibility

也可以看看