`lastIndexOf()` 和 `indexOf()` 的区别是什么?
时间: 2024-10-09 12:15:34 浏览: 39
indexOf 和 lastIndexOf 使用示例介绍
`indexOf()` 和 `lastIndexOf()` 都是查找字符串中指定值的方法,但在功能上有一些关键的区别:
1. **搜索方向**:`indexOf()` 从字符串的开头开始寻找指定字符或子串的第一个出现,而 `lastIndexOf()` 从字符串的结尾向开头搜索,找到最后一次出现的位置。
2. **返回值**:当 `indexOf()` 找到匹配项时,返回匹配项的索引;如果未找到则返回 `-1`。`lastIndexOf()` 也是找到匹配项就返回索引,找不到同样返回 `-1`,但它总是能找到字符串中最后一个出现的位置。
3. **应用场景**:通常你在需要查找首次出现的地方使用 `indexOf()`,而在需要确定最后一次出现的位置时使用 `lastIndexOf()`。
举个例子:
```javascript
const str = "Hello, World!";
let firstIndex = str.indexOf("o"); // 返回 4,因为第一个 "o" 出现在第5个字符处
let lastIndex = str.lastIndexOf("o"); // 返回 9,因为最后一个 "o" 出现在倒数第二个字符处
```
阅读全文