语法: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 后,再从前往后数,计算并返回它在总字符串中的位置与在数组用法一样。