자바스크립트 javaScript indexOf(), lastIndexOf() methods
indexOf() 메소드는 파라메터와 같은 문자 or 문자열을 처음부터 찾아 몇번째 위치하는지 리턴하는 메소드다.
-사용방법
문자열.indexOf("찾을문자열", 검색을 시작할 인덱스값[생략가능])
예)
<script>
function myFunction() {
var str = "ABCCDE";
var pos = str.indexOf("A");
document.write(pos);
}
</script>
위의 예제에서 indexOf의 리턴값은 0이다.
주의! 자바스크립트는 0부터 카운트 한다. 그래서 첫자인 A를 찾아 그 인덱스 값인 0을 리턴 하는것이다.
그렇다면 str.indexOf("B");의 리턴값은? 1이다. 이런식으로 0부터 1, 2, 3...으로 올라가는 것이다.
A B C C D E ...
0 1 2 3 4 5 ...
----------------------->
그럼 검색을 시작할 인덱스값을 옵션으로 넣어보자.
예)
<script>
function myFunction() {
var str = "ABCCDE";
var pos = str.indexOf("C", 1);
document.write(pos);
}
</script>
indexOf는 맨 앞에서부터 검색을 하지만 옵션값을 주면
그 위치부터 검색을 하기때문에 좀더 효율적으로 검색할 수도 있다.
검색 시작 옵션값으로 1을 주어 1의 위치인 B부터 검색을 시작한다.
그래서 리턴되는 값은? 2 다.
여기서 좀 헤깔려하는 사람이 있는데 검색 시작위치인 1을 주었다고 해서
그 위치인 B의 인덱스가 0 이 되는 것이 아니다! B가0이되어 1이 출력되는 것이 아니라는 말이다.
옵션 시작값을 0을 주던 1을 주던 위의 리턴값은 2
그렇다면 시작값을 4를 주어 문자열 내에 해당 값이 없다면?
해당값이 없을때 리턴값은 무조건 -1이다. (lastIndexOf도 같다.)
그럼 lastIndexOf() 의 사용법도 알아보자.
-사용방법
문자열.lastIndexOf("찾을문자열", 검색을 시작할 인덱스값[생략가능])
사용법은 indexOf()와 같다. 하지만 lastIndexOf()는 뒤어서 부터 검색을 시작한다.
A B C C D E ...
0 1 2 3 4 5 ...
<-----------------------
예)
<script>
function myFunction() {
var str = "ABCCDE";
var pos = str.lastIndexOf("C");
document.write(pos);
}
</script>
위의 리턴 값은 몇일까? 3 이다.
lastIndexOf()는 뒤에서부터 검색을 시작하기 때문에 세번째 C가 아닌 네번째 C값의 인덱스를 리턴하는 것이다.
같은 코딩에서 lastIndexOf()를 indexOf() 로 바꾼다면 결과 값은 2가 된다.
문자열을 넣는다면?
문자열의 시작값의 인덱스를 리턴한다.
예)
<script>
function myFunction() {
var str = "ABCCDE";
var pos = str.lastIndexOf("CD");
document.write(pos);
}
</script>
리턴값 3
'Programing > JavaScript' 카테고리의 다른 글
자바스크립트 문자열 바꾸기, 변경하기 javaScript replace() method (0) | 2015.07.23 |
---|---|
자바스크립트 문자열 자르기 javsScript slice(), subString(), subStr() method 사용법 (0) | 2015.07.23 |
자바스크립트 문자열(String)에 대한 모든것 javaScript Strings (0) | 2015.07.20 |
자바스크립트 지역변수, 전역변수, 로컬, 글로벌 변수 javaScript local variables, global variables, 변수의 범위 (0) | 2015.07.20 |
자바스크립트 오브젝트 javaScript object (0) | 2015.07.19 |
댓글