js中indexOf和lastIndexOf的用法及区别
前言:
JavaScript 中,如果需要判断某个字符或字符串在另一字符串中首次出现的位置,我们首先想到的肯定就是indexOf了,但是有时候我们也会遇到查询一个字符串最后出现的位置:lastIndexOf,这个方法和 indexOf 不同的是:
lastIndexOf 是从后向前查询,返回的是指定的字符串值最后出现的位置(记住这个最后是以从左到右为维度的,看下面栗子就会明白的)。
案例一:
// 此例子由 it 宅个人博客独家发布,转载请注明来源
/* 此处我想查询 c 出现的位置,因为此处只有一个 c 所以用 indexOf 和 lastIndexOf 都可以 */
var longStr = 'itzhai.cn';
// lastIndex, 查询 c 第一次出现的位置
var index = longStr.indexOf('c');
// lastIndexOf, 查询 c 最后一次出现的位置
var lastIndex = longStr.lastIndexOf('c')
// 结果 indexOf:7 lastIndexOf: 7
console.log('indexOf:' + index + ' ' + 'lastIndexOf: ' + lastIndex)
案例二
// 此例子由 it 宅个人博客独家发布,转载请注明来源
var longStr = 'itzhai.cn';
// lastIndex, 查询 i 第一次出现的位置
var index = longStr.indexOf('i');
// lastIndexOf, 查询 i 最后一次出现的位置
var lastIndex = longStr.lastIndexOf('i')
// indexOf:0 lastIndexOf: 5
console.log('indexOf:' + index + ' ' + 'lastIndexOf: ' + lastIndex)
总结
在我们使用过程中:
如果查询一个字符串首次出现的位置则用 indexOf;
如果查询一个字符串最后出现的位置则用 lastIndexOf