JavaScript 陣列 indexOf()

admin發表於2018-08-28

indexOf() 方法可以檢索指定元素首次出現在陣列中的索引位置,ES5 新增。

檢索到指元素,返回此元素在陣列中首次出現的索引位置,否則返回 -1 。

更多陣列內容可以參閱 JavaScript Array 陣列 一章節。

語法結構:

[JavaScript] 純文字檢視 複製程式碼
array.indexOf(ele[, start])

引數解析:

(1).ele:必需,要檢索的陣列元素。

(2).start:可選,規定從何處開始檢索元素,如果省略,從陣列起始位置開始檢索。

特別說明

(1).檢索由左到右進行。

(2).索引從 0 開始計算。

瀏覽器相容:

(1).IE9瀏覽器支援此方法。

(2).edge 瀏覽器支援此方法。

(3).谷歌瀏覽器支援此方法。

(4).火狐瀏覽器支援此方法。

(5).opera 瀏覽器支援此方法。

(6).safari 瀏覽器支援此方法。

程式碼例項:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let arr=["螞蟻部落",6,"青島市南區","softwhy.com"];
console.log(arr.indexOf("青島市南區"));

程式碼執行截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201808/28/015804hcsri19x1sd14kk0.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

"青島市南區"是陣列的第三個元素,也就是索引值是2,陣列索引是從0開始計算的。

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let arr=["螞蟻部落",6,"青島市南區","softwhy.com"];
console.log(arr.indexOf("青島"));

程式碼執行截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201808/28/015839k83qu3kudyywpcku.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

陣列元素必須要完全匹配,"青島"並不能匹配到"青島市南區"。

如果指定元素沒有在陣列中檢索到,那麼方法返回-1。

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let arr=[1,2,6,16,5,6];
console.log(arr.indexOf(6,3));

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201808/28/015921ufbudrtsexddxulg.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

上述程式碼要檢索數字6,陣列中有兩個6,但是規定了檢索開始的位置。

所以檢索到是第二個數字6,它的索引位置是5。

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let arr=[1,2,6,16,5,6];
console.log(arr.indexOf(6,-5));

程式碼執行效果截圖如下:

a:3:{s:3:\"pic\";s:43:\"portal/201808/28/015958h5aacq25qwj25xf2.png\";s:5:\"thumb\";s:0:\"\";s:6:\"remote\";N;}

第二個引數可以是負數,大家知道陣列的第一個元素的索引是0,那麼-1就是指的陣列倒數第一個元素,-2就是陣列倒數第二個元素,以此類推。那麼-5就是倒數第五個元素(2),然後由元素2開始向右進行檢索。

相關文章