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

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

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

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

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

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

书上是这么写的:

var stringValue = "Lorem ipsum dolor sit amet, consectetur adipisicing elit";
var positions = new Array();
var pos = stringValue.indexOf("e");

while (pos > -1) {
    positions.push(pos);
    pos = stringValue.indexOf("e", pos + 1);
}

console.log(positions);

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

植入部分

如果您觉得文章不错,可以通过赞助支持我。

如果您不希望打赏,也可以通过关闭广告屏蔽插件的形式帮助网站运作。

标签: 知识, 代码段, 语法

添加新评论