JavaScript 字符串的lastIndexOf()方法
lastIndexOf()
方法返回给定子字符串在字符串中最后一次出现的索引。
示例
// 定义一个字符串
var str = "Programming";
var substr = "g";
// 查找 str 中 "g" 的最后一次出现
var result = str.lastIndexOf(substr);
console.log(result);
// 输出:10
lastIndexOf() 语法
lastIndexOf()
方法的语法是:
str.lastIndexOf(searchValue, fromIndex);
这里,str 是一个字符串。
lastIndexOf() 参数
lastIndexOf()
方法接受:
- substr - 要在给定字符串中搜索的值。
- fromIndex(可选) - 从字符串中反向搜索的起始索引。默认值为 +Infinity。
注意:
- 如果 fromIndex >= string.length,则搜索整个字符串。
- 如果 fromIndex < 0,则视为与 0 相同。
lastIndexOf() 返回值
lastIndexOf()
方法返回:
- 如果值在字符串中至少出现一次,则返回该值在字符串中的最后索引。
- 如果没有明确提供字符串,则返回 fromIndex。
注意: 如果在给定字符串中找不到子字符串,则方法返回 -1。
示例 1:使用 lastIndexOf() 方法
// 定义一个字符串
var str = "Programming";
var substr = "m";
// 查找 str 中 "m" 的最后一次出现
var result = str.lastIndexOf(substr);
console.log(result);
输出
7;
在上述示例中,我们定义了一个名为 str
的字符串。变量 substr
包含 "m"
,这是给定字符串的子字符串。
lastIndexOf()
方法定位 substr
最后一次出现的索引。由于字符串的索引从 0 开始,str.lastIndexOf(substr)
返回值 7。
示例 2:带有两个参数的 lastIndexOf()
// 定义一个字符串
var str = "Programming";
// 定义一个子字符串 'substr',它包含字符 'g'
var substr = "g";
var fromIndex = 6;
// 在 lastIndexOf() 中传递第二个参数 'fromIndex'
var result = str.lastIndexOf(substr, fromIndex);
console.log(result);
输出
3;
在上述示例中,我们传递了 fromIndex 作为第二个参数。因此,lastIndexOf()
方法从 fromIndex 向后搜索子字符串。
str.lastIndexOf(substr, fromIndex)
从 fromIndex 向后搜索 "g"
,并定位 "g"
的最后一次出现,即索引 3。
示例 3:未找到子字符串时
var str = "I love JavaScript";
// 传递一个在给定字符串中不存在的子字符串
var result = str.lastIndexOf("Python");
console.log(result);
输出
-1;
这里,我们传递了 "Python"
作为 substr。由于在 "I love JavaScript"
字符串中找不到 "Python"
,该方法返回 -1。
示例 4:lastIndexOf() 区分大小写的搜索
lastIndexOf()
方法区分大小写。例如:
var str = "I love JavaScript";
// lastIndexOf() 以 "JavaScript" 作为 substr
var result1 = str.lastIndexOf("JavaScript");
console.log(result1);
// lastIndexOf() 以 "javaScript" 作为 substr
var result2 = str.lastIndexOf("javaScript");
console.log(result2);
输出
7 - 1;
这里,lastIndexOf()
方法区分大小写,因此它将 "JavaScript"
和 "javaScript"
视为两个不同的 substr。
该方法为 "JavaScript"
返回索引值 7,而对于 "javaScript"
返回 -1。
推荐阅读: