js如何獲取指定陣列元素在陣列中的索引值

antzone發表於2017-03-14

如果一個陣列中的元素較多,從肉眼看很難獲知指定元素在陣列中的索引,更何況很多情況下陣列的結構是不得而知的,下面就介紹一下如何獲取指定元素在陣列中的位置,程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼
var TheArray=[1,3,5,6,9,11,2,0,45,36,30];
Array.prototype.indexOf=function(el){
  for(var i=0,n=this.length;i<n;i++){
    if(this[i]===el){
      return i;
    }
  }
  return-1;
}
console.log(TheArray.indexOf(45))

以上程式碼可以輸出45數字在陣列中的索引值,程式碼非常的簡單,下面就原理做一下簡單的說明。

通過原型prototype為Array物件新增一個自定義的indexOf()函式,Array物件本身沒有此函式,在此函式中可以依次遍歷陣列的中元素,然後和傳遞的引數進行比對,如果相等,則當前的索引就是要獲取的值。

相關文章