indexOf和lastIndexOf的使用

indexOf()和 lastIndexOf()是返回位置index的两个方法:都是接收两个参数,其中,indexOf()方法从数组的开头(位 置 0)开始向后查找;lastIndexOf()方法则从数组的末尾开始向前查找;在没找到的情况下返回-1。

 为了更能清晰易懂,这里故意将数组多添加了几个重复的数字:

1. indexOf(); 

  1) var num=[1,1,4,4,5,4,1,3,2,1];

          index :  0 1 2 3 4 5 6 7 8 9

  alert(num.indexOf(1));     // 这里如果写一个参数,则是 在 num数组中从前往后查找 '1' ,并且返回 第一次查找到的位置,index  为 0;

  alert(num.indexOf(1,2));  // 这里如果是两个参数,则是 在 num数组中从前往后且 从2的位置往后开始查找 '1' ,并且返回第一次查找到的的位置,index 为 6 ;

 2) indexOf() 方法对大小写敏感!

     var msg='Hello world';

     alert(msg.indexOf('h'));  // indexOf方法区分大小写,故这里返回 -1; 

     alert(msg.indexOf('world')); //包括里面的空格,所以这里返回的是 6;

2.lastIndexOf();

  1) var num=[1,1,4,4,5,4,1,3,2,1];

          index :  0 1 2 3 4 5 6 7 8 9

  alert(num.lastIndexOf(1));   // 9  如果写一个参数与indexOf一样,返回位置index值,不同的是 lastIndexOf()是从后往前找,但是 index值是不变的。

  alert(num.lastIndexOf(1,2))  // 1  这里写两个参数,是指 从index为2的位置开始往前查找 '1' ,那么你第一个查找到的数字 '1' ,是在index 值为1的位置。

// 这里需要注意的是: 支持它们的浏览器包 括 IE9+、Firefox 2+、Safari 3+、Opera 9.5+和 Chrome。 

原文地址:https://www.cnblogs.com/loveyaxin/p/5629384.html