문자열에서 인덱스 찾기

lee jae hwan·2022년 7월 23일

javascript

목록 보기
15/107

문자열에서 특정문자열찾기등 인덱스를 반환하는 함수들이 있다.

찾는 문자열이 없을때는 -1반환되고 그외는 0부터 시작하는 인덱스값을 반환한다.

반환값이 -1일때 결과값 == -1 비교하는것보다 ~비트연산으로 0과 비교하는것이 빠르다.

let str = "As sly as a fox, as strong as an ox";
let searchString = "as";

let pos=-1;
while ( (pos = str.indexOf(searchString, pos + 1)) != -1) {
   console.log(pos);
}

반복시마다 찾은지점의 +1 부터 검색해야 하므로 pos를 -1로 초기화한다.

pos값이 -1이면 반복을 탈출하는 조건이다.

while ( ~(pos = str.indexOf(searchString, pos + 1)) ) {
   console.log(pos);
}

pos==-1 비교연산은 ~pos 비트연산을 하면 pos는 0이되어 반복을 탈출하는것과 같다.

0개의 댓글