在 JavaScript 中,使用 indexOf() 和 lastIndexOf() 方法可以檢索陣列元素,返回指定元素的索引位置。與 String 的 indexOf() 和 lastIndexOf() 原型方法用法相同。
使用 indexOf() 在陣列中查詢元素
JavaScript indexOf() 返回某個元素值在陣列中的第 1 個匹配項的索引,如果沒有找到指定的值,則返回 -1。用法如下:
array.indexOf(searchElement[, fromIndex]);
引數說明:
-
array:表示一個陣列物件。
-
searchElement:必需引數,要在 array 中定位的值。
-
fromIndex:可選引數,用於開始搜尋的陣列索引。如果省略該引數,則從索引 0 處開始搜尋。如果 fromIndex 大於或等於陣列長度,則返回 -1。如果 fromIndex 為負,則搜尋從陣列長度加上 fromIndex 的位置處開始。
indexOf() 方法是按升序索引執行搜尋,即從左到右進行檢索。檢索時,會讓陣列元素與 searchElement引數值進行全等比較
===
。
範例1
下面程式碼演示了如何使用 indexOf() 方法。
var a = ["ab","cd","ef","ab","cd"];
console.log(a.indexOf("cd")); //1
console.log(a.indexOf("cd", 2)); //4
console.log(a.indexOf("gh")); //-1
console.log(a.indexOf("ab", -2)); //3
使用 lastIndexOf() 在陣列中查詢元素
JavaScript lastIndexOf() 返回指定的值在陣列中的最後一個匹配項的索引,其用法與 indexOf() 相同。
範例2
下面演示了如何使用 lastIndexOf() 方法。
var a = ["ab","cd","ef","ab","cd"];
console.log(a.lastIndexOf("cd")); //4
console.log(a.lastIndexOf("cd", 2)); //1
console.log(a.lastIndexOf("gh")); //-1
console.log(a.lastIndexOf("ab", -3));