在发散思维前先介绍一下基本知识;
定义与用法:
indexOf() 方法可返回某个指定
的字符串值
在字符串中首次出现
的位置。
这里基本用法大家一般都清楚,一般在实际工作中常与数组的方法
合用来对数组进行一些操作
。
例如:
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
的话可以验证字母的唯一性
;
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。