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。