相容所有瀏覽器的陣列indexOf()方法

admin發表於2017-04-12

在ES5中為Aarry物件新增了indexOf()方法,但是低版本的瀏覽器並不支援。

關於ES5中的indexOf()方法可以參閱javascript Array indexOf()一章節。

但是有時候可能還需要相容低版本的瀏覽器,下面就分享一段能夠相容所有瀏覽器的陣列物件indexOf()方法。

程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
//陣列的indexOf方法封裝
function indexOf(arr,value,start){
  //如果不設定start,則預設start為0
  if(arguments.length == 2){
    start = 0;
  }
  //如果陣列中存在indexOf方法,則用原生的indexOf方法
  if(arr.indexOf){
    return arr.indexOf(value,start);
  }
  for( var i = 0; i < arr.length; i++){
    if(arr[i] === value){
      return i;
    }
  }
  return -1;
}

相關文章