Skip to content →

[JS] IndexOf、lastIndexOf字串符號尋找

IndexOf(searchValue, start):

var str = “Hi indexof Method”;
str.indexOf();      //-1 ,找不到值,回傳-1
str.indexOf(“”);     //0  , 第二參數默認值為0
str.indexOf(“”, 17)  //17
str.indexOf(“”, 18)  //17 ,第二參數大於等於 str.length時,當做 str.length
str.indexOf(“e”);   //6 ,位置6
str.indexOf(“e”, 7);  //12 ,從位置7開始尋找e
str.indexOf(“e”, -4);  //6 ,第二參數為小於等於0時,當做0
str.indexOf(“E”);   //-1 ,有區分大小寫

array.indexOf() 與 string.indexOf() 差別在於負數和大於等於 str.length 時的回傳值。

var arr = [“A”, “B”, “C”, “D”, “E”, “A”, “B”, “C”, “D”, “E”];
arr.indexOf();      //-1 ,找不到值,回傳-1
arr.indexOf(“”);     //-1
arr.indexOf(“e”);   //-1 ,找不到值,回傳-1
arr.indexOf(“E”);   //4
arr.indexOf(“E”, 5);  //9 ,從位置5開始尋找E
arr.indexOf(“E”, 10);  //-1 ,第二參數為大於等於 str.length時,回傳-1
arr.indexOf(“E”, -4);  //9 ,第二參數為負值時,表示從後面元素開始順序尋找


LastIndexOf(searchValue, start):
由右向左反方向尋找。

var str = “Hi indexof Method”;
str.lastIndexOf();      //-1 ,找不到值,回傳-1
str.lastIndexOf(“”);     //17 , 反方向第一個值的位置
str.lastIndexOf(“”, 17)  //17
str.lastIndexOf(“”, 18)  //17 ,第二參數大於等於 str.length時,當做 str.length
str.lastIndexOf(“e”);   //12 ,位置12
str.lastIndexOf(“e”, 7);  //6 ,從位置7開始反方向尋找e
str.lastIndexOf(“e”, -4);  //-1 ,第二參數為小於等於0時,當做0
str.lastIndexOf(“E”);   //-1 ,有區分大小寫

var arr = [“A”, “B”, “C”, “D”, “E”, “A”, “B”, “C”, “D”, “E”];
arr.indexOf();      //-1 ,找不到值,回傳-1
arr.indexOf(“”);     //-1
arr.indexOf(“e”);   //-1 ,找不到值,回傳-1
arr.indexOf(“E”);   //9
arr.indexOf(“E”, 5);  //4 ,從位置5開始反方向尋找E
arr.indexOf(“E”, 10);  //9
arr.indexOf(“E”, 11);  //9 ,第二參數為大於等於 str.length時,會尋找整個陣列
arr.indexOf(“E”, -4);  //4 ,第二參數為負值時,表示從後面元素開始順序尋找

Published in JS

Comments are closed.