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
语法
参数
¥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
。
返回值
描述
¥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.
"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
区分大小写
示例
使用 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"
.
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 |
浏览器兼容性
BCD tables only load in the browser