兼容所有浏览器的indexof()方法

if(!Array.prototype.indexOf){
  Array.prototype.indexOf=function(obj,start){
    for(var index=(start || 0), j=this.length;index<j;index++){
      if(this[index]===obj){ 
        return index; 
      }
    }
    return -1;
  }
}
var arr=[1,2,3,4,5];

console.log(arr.indexOf(3,1))

一.代码注释:

(1).if(!Array.prototype.indexOf){},判断当前浏览器是否支持indexOf()方法。

(2).Array.prototype.indexOf=function(obj,start){},如果不支持,那么就自定义一个indexOf()方法,第一个参数是要查找的元素,第二个参数表示查找的起始位置。

(3).for(var index=(start || 0), j=this.length;index<j;index++){

  if(this[index]===obj){ 

    return index;

  }

}如果没有传递start参数,那么就是从索引值为0的位置开始查找,也就是第一个位置开始查找。

通过遍历的方式找到指定元素,然后返回索引值。

(4).return -1,没有找到就返回-1。


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值