javascript中indexOf()和lastIndexOf()详解

ECMAScript5为数组实例添加两方法:indexOf()和lastIndexOf()。这两个方法接受两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中,indexOf()方法从数组的开头(位置0)开始向后查找,lastIndexOf()方法则从数组的末尾开始向前查找。

这两个方法都返回要查找的项在数组中的位置,或者在没有找到的情况下返回-1。在比较第一个参数与数组中的每一项时,会使用全等操作符;也就是说,要求查找的项必须严格相等(就像使用===一样)。

indexOf()和lastIndexOf()基本用法:

 1 <!DOCTYPE HTML>
 2 <html>
 3 <head>
 4 <meta charset="utf-8">
 5 <title>indexOf()和lastIndexOf()</title>
 6 </head>
 7 <body>
 8 <script>
 9 var arry=[2,5,3,4,5,6,1];
10 document.write(arry.indexOf(3));
11 document.write("<br />");
12 document.write(arry.indexOf(5,2));
13 document.write("<br />");
14 document.write(arry.lastIndexOf(6));
15 document.write("<br />");
16 document.write(arry.lastIndexOf(5,3));
17 </script>
18 </body>
19 </html>

上述代码运行结果:

2

4

5

1

使用indexOf()和lastIndexOf()方法查找特定项在数组中的位置非常简单,支持它们的浏览器包括:IE9+、Firefox2+、Safari3+、Opera9.5+和Chrome。

为了能兼容其他版本的主流浏览器,可以按下面这样:

 1 <!DOCTYPE HTML>
 2 <html>
 3 <head>
 4 <meta charset="utf-8">
 5 <title>indexOf()和lastIndexOf()</title>
 6 </head>
 7 
 8 <body>
 9 <script>
10 if(!(Array.prototype.indexOf)){
11     Array.prototype.indexOf=function(val){
12         for(var i=0;i<this.lenth;i++){
13             if(this[i]===val){
14                 return i;
15             }else{
16                 return -1;
17             }
18         }
19         
20     };    
21 }
22 var arry=[2,5,3,4,5,6,1];
23 document.write(arry.indexOf(3));
24 document.write("<br />");
25 document.write(arry.indexOf(5,2));
26 document.write("<br />");
27 document.write(arry.lastIndexOf(6));
28 document.write("<br />");
29 document.write(arry.lastIndexOf(5,3));
30 </script>
31 </body>
32 </html>

 

 

转载于:https://www.cnblogs.com/wuqun/p/3657492.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值