天天看點

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){

}

繼續閱讀