1

在发散思维前先介绍一下基本知识;

定义与用法:

indexOf() 方法可返回某个指定字符串值在字符串中首次出现的位置。

clipboard.png
这里基本用法大家一般都清楚,一般在实际工作中常与数组的方法合用来对数组进行一些操作
例如:

var arr=['Mike','Chen Jie','Amy','Sarah'];
//将Amy从数组中删除
arr.splice(arr.indexOf('Amy'),1)
//将Amy替换为Zhang Peng,并追加Wu Yifan,Miss White
arr.splice(arr.indexOf('Amy'),1,'Zhang Peng','Wu Yifan','Miss White')

下面介绍一下第二个参数的用法,可指定在字符串中开始检索的位置,这个可以用来快速查找字符串中出现某个字母的位置及次数
例如:

var str='what is your name? my name is Jhon.'
var positions=new Array();
//初始化索引
var index=str.indexOf('m');
while(index>-1){
    positions.push(index);
    //改变索引
    index=str.indexOf('m',index+1);
}
console.log(positions)
// [15, 19, 24]

这个例子主要是通过不断增加str.indexOf的初始查找的位置,从而遍历了整个字符串。
下面介绍一个indexOf的兄弟方法:

定义与用法

lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索
参数上差不多,这里不做太多介绍,lastIndexOf和indexOf的区别就是lastIndexOf是从后往前查,可以用于检测字符串中某个字母的唯一性

var str='hello world';
str.lastIndexOf('w')===str.indexOf('w')

这里如果结果为true,并且不等于-1的话可以验证字母的唯一性


李心隐先生
59 声望2 粉丝