学科分类
目录
JavaScript网页编程

根据字符返回位置

字符串对象提供了用于检索元素的属性和方法,具体如表1所示。

表1 字符串对象的常用属性和方法

成员 作用
indexOf(searchValue) 获取searchValue在字符串中首次出现的位置
lastIndexOf(searchValue) 获取searchValue在字符串中最后出现的位置

为了让大家更加清楚地了解indexOf()和lastIndexOf()方法的使用,下面我们通过代码示例进行演示。

var str = 'HelloWorld';

str.indexOf('o');    // 获取“o”在字符串中首次出现的位置,返回结果:4

str.lastIndexOf('o'); // 获取“o”在字符串中最后出现的位置,返回结果:6

通过返回结果可以看出,位置从0开始计算,字符串第一个字符的位置是0,第2个字符为1,以此类推,最后一个字符的位置是字符串的长度减1。

接下来我们通过案例进行演示。要求在一组字符串中,找到所有指定元素出现的位置以及次数。字符串为 ' Hello World, Hello JavaScript '。示例代码如下。

 1  var str = 'Hello World, Hello JavaScript';

 2  var index = str.indexOf('o');

 3  var num = 0;

 4  while (index != -1) {

 5   console.log(index);          // 依次输出:4、7、17

 6   index = str.indexOf('o', index + 1);

 7   num++;

 8  }

 9  console.log('o出现的次数是:' + num); // o出现的次数是:3

上述代码中,第2行中需要先找到第一个o出现的位置。第3行代码设置o出现的次数初始值为0,第4行通过while语句判断indexOf返回值的结果,如果不是-1就继续往后进行查找,这是因为indexOf只能查找到第1个,所以后面的查找需要利用第2个参数来实现,给当前的索引index加1,从而实现继续查找。需要注意的是,字符串中的空格也会被当作一个字符来处理。

点击此处
隐藏目录