字符串方法indexOf()和lastIndexOf()
今天在学习JS的字符串方法的时候,遇到一个问题,后来发现是自己的理解错误,写下博客记录一下。
indexOf()方法
indexOf()该方法可以检索一个字符串中是否含有指定内容,如果字符串中含有该内容,则会返回第一次出现的索引,如果没有找到指定的内容就返回-1,也可以指定第二个参数,第二个参数就是指定开始查找的位置
语法:
res = str.indexOf(str,index);
应用:
str = "hello yoyo";
var res = str.indexOf("o",1);
console.log(res);
//输出的结果就是“7”
lastIndexOf()方法
lastIndexOf()方法的用法和indexOf()一样,不同的是indexOf是从前往后找,lastIndexOf()是从后往前找,也可以指定开始查找的位置,如果没有找到指定的内容就返回-1
str = "hello yoyo";
var res = str.lastIndexOf("o",8);
console.log(res);
输出的结果就是“7”
小记笔记: 应用lastIndexOf()方法的时候,我总以为从后往前数,那么最后一个元素的索引就应该是0,在往前就是1,2…其实不是这样的,不管往前还是往后数,原字符串的索引值都是唯一的,不变的,在lastIndexOf()方法的第二个参数index,就是从索引值为8的那个元素往前找,找的时候是包含第二个参数index位置上的元素的
比如:
str = "hello yoyo";
var res = str.lastIndexOf("o",7);
console.log(res);
输出的结果也是“7”