JS indexOf()和lastIndexOf()方法:在陣列中查詢某個元素

2020-07-16 10:05:01
在 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));