天天看点

JS中判断数组中是否包含某个元素indexof兼容性兼容性

1.前几天写了一个JS游戏,其中,判断数组中是否包含某个元素,开始使用如下方法判断

if(appearAnimals.indexOf(randIndex) ==-1){

}

目前主流的浏览器都能正常显示,但是遇到IE9以下版本就不行,通过逐行排查,才发现是indexOf的兼容性问题。IE9以前的版本都不支持此方法,现在写一个兼容的方法如下:

if(!Array.indexOf){
    Array.prototype.indexOf = function(el){
    for (var i=,n=this.length; i<n; i++){
        if (this[i] === el){
            return i;
        }
    }
    return -;
     }  
}
           

当然也可以考虑使用Jquery中inArray方法,如下

if($.inArray(randIndex, appearAnimals) ==-1){

}

继续阅读