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。