【JavaScript】 寻找元素在数组的下标

前言

如何寻找元素在数组的下标呢

方法

1.indexOf

说到寻找一个元素是否存在一个数组内,很快就想到 arr.indexOf()

function find (arr, item) {
    return arr.indexOf(item)
}

2.常规循环

function find (arr, item){
    let sum = 0;
    for(let i = 0; i < arr.length; i++){
        if(arr[i] === item){
            return i
        }
    } 
    return -1
}

增加代码健壮性

但是方法1方法2的代码健壮性兼容性不太好,ie浏览器不支持indexOf()的时候怎么办,先判断支不支持indexOf,再进行下一步就OK了

function find (arr, item) {
    if (Array.prototype.indexOf) {
       return arr.indexOf(item)    
    } else {
        let sum = 0;
        for(let i = 0; i < arr.length; i++){
            if(arr[i] === item){
                return i
            }
        } 
        return -1
    }
}
经验分享 程序员 微信小程序 职场和发展