JavaScript lastIndexOf() 语法
lastIndexOf() 是 JavaScript 字符串的一个方法,它用于返回指定子串在字符串中 “最后一次” 出现的下标。如果指定子串不存在,则返回 -1。
lastIndexOf() 方法是 “从右向左” 进行搜索,因此它返回的是从右边数的第一次的下标,也就是从左边数的最后一次的下标。
语法:
str.lastIndexOf(subStr, start)说明:
lastIndexOf() 方法可以接收以下 2 个参数。
subStr(可选):表示想要查找的子串。start(可选):表示查找的开始下标(从右边开始),如果 start 省略,则默认为 str.length,表示搜索整个字符串。
其中,数组也有 lastIndexOf() 方法,另请参阅:JavaScript 数组 lastIndexOf() 方法。
注意:
- lastIndexOf() 方法会严格区分大小写。
- 与数组不同,字符串的 lastIndexOf 不支持负数下标。如果 start 小于 0,则会被视为 0。
- indexOf() 方法是 “从左到右” 进行搜索,而 lastIndexOf() 方法是 “从右到左” 进行搜索。
JavaScript lastIndexOf() 摘要
| 属于 | JavaScript 查找字符串 |
|---|---|
| 使用频率 | 低 |
| 修改原字符串 | 否 |
| 官方文档 | 查看 |
| MDN | 查看 |
JavaScript lastIndexOf() 示例
接下来,我们通过几个简单的例子来讲解一下 JavaScript lastIndexOf() 方法是如何使用的。
示例 1:lastIndexOf() 基本用法
const str = "红绿蓝红";
console.log(str.lastIndexOf("红"));
console.log(str.lastIndexOf("黄"));运行结果如下。
3
-1分析:
由于 str 包含了两个 "红",但 str.lastIndexOf("红") 只会返回最后一个 "红" 的下标,也就是 3。
示例 2:lastIndexOf() 设置查找的开始下标
const str = "绿叶红叶黄叶绿叶";
console.log(str.lastIndexOf("绿叶", 0));
console.log(str.lastIndexOf("绿叶", 2));
console.log(str.lastIndexOf("绿叶", 7));运行结果如下。
0
0
6分析:
str.lastIndexOf("绿叶", 0) 表示从下标 0 的位置(即第 1 个元素)开始搜索,而 str.lastIndexOf("绿叶", 2) 表示从下标 2 的位置(即第 3 个元素)开始搜索。
indexOf() 与 lastIndexOf()
字符串的 indexOf() 和 lastIndexOf() 这两个方法非常相似,它们之间的区别如下。
- indexOf() 是 “从左到右” 进行搜索,而 lastIndexOf() 是 “从右到左” 进行搜索。
- indexOf() 返回的是指定子串 “第一次” 出现的下标,而 lastIndexOf() 返回的是指定元子串 “最后一次” 出现的下标(从右边开始数是第一个)。
示例 3:indexOf() vs lastIndexOf()
const str = "绿叶红叶黄叶绿叶";
console.log(str.indexOf("绿叶"));
console.log(str.lastIndexOf("绿叶"));运行结果如下。
0
6