indexof의 목적은 문자열에서 단어의 위치를 찾는 것입니다.
LastIndexof는 또한 단어를 찾는 것입니다. 그들 사이의 차이점은 전자가 문자열 헤더에서 시작하고 후자는 문자열 끝에서 시작한다는 것입니다.
지정된 단어가 발견되면 단어의 현재 위치 번호가 반환됩니다. 찾을 수없는 경우 -1을 반환하십시오.
var str = "//www.stooges.com.my/test/index.aspx123/";console.log(str.indexof("/")); //0console.log(str.lastindexof("/ "); // 39매개 변수 1은 검색해야 할 단어이며 str이어야합니다. 작동하지 않습니다.
또한 두 번째 매개 변수도 허용합니다. 숫자 유형, 검색 범위를 지정할 수 있습니다.
var str = "//www.stooges.com.my/test/index.aspx123/";console.log(str.indexof("/", 0)); // 0 기본값은 0console.log입니다 (str.lastIndexof ( "/", str.length)); // 39 기본값은 str.length입니다두 방법의 제어는 다른 방향입니다.
indexof가 10으로 설정되었다고 가정하면 검색 범위는 10에서 str.length (단어의 끝)입니다.
LastIndexof가 10으로 설정되면 검색 범위는 10에서 0입니다 (첫 번째 단어)
이것에주의하십시오.
추신 : -500과 같은 음수로 설정하면 이상한 현상이 발생합니다. 이해가 안 돼 = = ";
때때로 우리는 n 번째를 지정하고 싶습니다. 그런 다음 위의 방법을 통해이를 달성 할 수 있습니다.
예를 들어:
string.prototype.myindexof = function (searchValue, startIndex) {var text = this; startIndex = startIndex || 1; var is_negative = startIndex <0; var ipos = (is_negative)? Text.length + 1 : 0-1; var looptime = math.abs (startIndex); for (var i = 0; i <루프 타임; i ++) {ipos = (is_negative)? text.lastindexof (searchValue, ipos -1) : text.indexof (searchValue, ipos + 1); if (ipos == -1) break;} return ipos;} var str = "//www.stooges.com.my/test/index.aspx123/";console.log(str.myindexof("/", 3)); //20console.log(str.myindexof("/ ", -2)); // 25 두 번째 마지막 위치