js查询数组元素索引值的方法

使用js查询数组元素索引值的方法有以下两种。

方法一:使用Array自带的indexOf() 方法

indexOf() 方法可返回数组中某个指定的元素位置。
该方法将从头到尾地检索数组,看它是否含有对应的元素。开始检索的位置在数组 start 处或数组的开头(没有指定 start 参数时)。如果找到一个 item,则返回 item 的第一次出现的位置。开始位置的索引为 0。
如果在数组中没找到指定元素则返回 -1。

示例:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.indexOf("Apple");//返回2

缺点:在某些IE版本中,不支持indexOf(),就需要先判断Array是否有indexOf()方法

var arr=[1,2,3,4]
if (!Array.indexOf){
    Array.prototype.indexOf=function(obj){
    var i=this.length;
        while(i-=1){
            if(this[i]==obj){
                return i;
            }
        }return -1;
    }
}
arr.indexOf(3);//返回2

方法二:为Array构造一个新的函数,和方法一中不存在indexOf方法时处理一样。

// 查询元素在数组中的索引值
Array.prototype.getIndexByValue = function (arr) {
  for (var i = 0; i < this.length; i++) {
    if (this[i] == arr) {
      return i;
    }
  }
  return -1;//没找到则返回-1
}

// 创建数组arr
var arr = [1, 2, 3, 4,];
arr.getIndexByValue(1); // 0

原文作者技术博客:https://www.jianshu.com/u/ac4daaeecdfe
95后前端妹子一枚,爱阅读,爱交友,将工作中遇到的问题记录在这里,希望给每一个看到的你能带来一点帮助。
欢迎留言交流

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值