語法:array.lastIndexOf(item,start)
參數:
item | 必需。規定需檢索的字符串值。 |
start | 可選的整數參數。規定在字符串中開始檢索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略該參數,則將從字符串的最后一個字符處開始檢索。 |
返回值:Num,沒有找到返回 -1
1 var arr=[10,5,2,3,4,5,7,8,9]; 2 //索引值:0 1 2 3 4 5 6 7 8 3 console.log(arr.lastIndexOf(4,6));//4 4 console.log(arr.lastIndexOf(7));//6 5 console.log(arr.lastIndexOf(4,3));//-1 6 console.log(arr.lastIndexOf(5,1));//1 7 console.log(arr.lastIndexOf(5,2));//1
解析:
- 1. 只有一個參數時,lastIndexOf從后往前找第一個item,找到就返回索引值。例如:arr.lastIndexOf(7) ----- 從后往前找第一個7,索引值為6,所以結果就是6。
- 2. 兩個參數時,arr.lastIndexOf(4,6) ------ 在索引 0---6 之間找4,其索引值為4,所以結果就是4。 arr.lastIndexOf(4,3) ------ 在索引 0---3 之間找4,其中沒有4,所以返回 -1
語法:array.IndexOf(item,start)
參數:
item | 必需。規定需檢索的字符串值。 |
start | 可選的整數參數。規定在數組中開始檢索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略該參數,則將從字符串的首字符開始檢索。 |
返回值:Num,沒有找到返回 -1
1 var arr = [1,3,5,7,7,5,3,1]; 2 //索引值: 0 1 2 3 4 5 6 7 3 console.log(arr.indexOf(5)); //2 4 console.log(arr.indexOf(5,2)); //2 5 console.log(arr.indexOf("5")); //-1 6 console.log(arr.indexOf(1,2)); //7
解析:
- 1. 只有一個參數時,IndexOf從前往后找第一個item,找到就返回索引值。例如:arr.IndexOf(5) ----- 從前往后找第一個5,索引值為2,所以結果就是2。
- 2. 兩個參數時,arr.IndexOf(5,2) ------ 在索引 0---2之后找第一個5,其索引值為2,所以結果就是2。 arr.IndexOf(1,2) ------ 在索引 0---2之后找第一個1,其索引值為7,所以結果就是7。
- 3. arr.IndexOf("5") ------ 因為查找的是字符串"5",所以找不到返回 -1
注意:在字符串中也可以使用該方法,參數一樣。
- 1. indexOf(5, 2) 查找的是字符串前2位之后的第一個5
- 2. lastIndexOf(5, 2) 查找的是字符串前2位之內的最后一個5
- 3. 在字符串中空格也是一位數
- 4. 在字符串帶參數是為了定位,要找哪段字符串中的 a,找到這個 a 后,再從前往后數,計算並返回它在總字符串中的位置與在數組用法一樣。