CodeSky 代码之空

随手记录自己的学习过程

Javascript indexOf遍历查找所有子字符串出现的位置

2014-07-22 16:43分类: JavaScript评论: 0

好久没有更新了,六月份因为考试的缘故更是直接跳过了,前面浅浅的读了一下也不知道记些什么好,鉴于这个看着不错的样子就来mark一下。

indexOf()方法,可以从一个字符串中搜索给定的子字符串,和他相反的是lastIndexOf(),这个功能还算常见,正好码这段想到其他问题了,比如:

1var stringValue = "Lorem ipsum dolor sit amet, consectetur adipisicing elit";
2var positions = new Array();
3var pos = stringValue.lastIndexOf("orem");
4

这段代码的运行结果如何呢,结果是1,而换成indexOf()结果也是1,然后我尝试了不同的测试,似乎所谓的返回子字符串的位置是从打头的字符位置而定的(如果没找到则返回-1)。

绕回正题,我们要匹配所有子字符串,其实就是要用到一个循环的结构。

书上是这么写的:

1var stringValue = "Lorem ipsum dolor sit amet, consectetur adipisicing elit";
2var positions = new Array();
3var pos = stringValue.indexOf("e");
4
5while (pos > -1) {
6    positions.push(pos);
7    pos = stringValue.indexOf("e", pos + 1);
8}
9
10console.log(positions);
11

Now, you get it! PS:很久不写了,感觉用什么标签都不太清楚了

评论 (0)