indexOf에 대해서 알아보고자한다.
js에서 indexOf는 예시를 들어서 설명하는게 빠를것 같다.
let word = "ksetkksey"
이 있다고 할때,
let result = word.indexOf("k");
를 실행할경우, result = 0이라는 수가 나온다.
나머지 4번째, 5번째있는 k 수에 대해선 찾지 않는다.
따라서 indexOf는 해당 문자열의 최초의 k가 갖는 자리수가 나온다.
k의 4번째, 5번째 자리수까지 알고싶으면
let result = word.indexOf("k",3);
이라고한다면 세번째 자리수부터 k를 찾게된다. 따라서 result = 4라는 수가 나온다.
그렇다면 word 변수에서 k의 갯수를 indexOf함수를 이용해서 찾고싶다면?
let word = "ksetkksey"
let pos = word.indexOf("k"); // 이렇게하면, 이제 word문자열의 최초의 k 자리수가 나온다. 여기서는 0이다.
let cnt = 0;
while(pos !== -1){
cnt++; //처음에는 pos가 0이었기에 +1된다.
pos = word.indexOf("k",pos + 1);//이를 통해서 이전에 찾았던 k말고 다른 자릿수의 k를 찾도록한다 이제 k가 문자열에 하나도 없을때까지 찾을 것이다.
}