본문 바로가기
javascript

인덱스로 문자열 처리

by rami_ 2021. 9. 27.

charAt()

구분 데이터(값)
data 반환대상
파라미터 반환기준 index
반환 인덱스 ~번째 문자

인덱스의 문자를 반환

var value = "sports";

log(value.charAt(1)); //p 함수로 호출

log(value[1]) //p 프로퍼티 값의 이름으로 호출

인덱스는 0부터 시작.

문자열 길이보다 인덱스가 크면 빈 문자열 반환

var value = "sports";

log(vlaue.charAt(12)); //     문자열의 수는 6. 그보다 큰 12번째 문자를 출력해달라고 하면 빈 문자열 반환

일반적으로 존재하지 않으면 undefined 반환

var value = "sports";

log(value[12]); // 12번째 인덱스가 없어 undefined 반환. value.charAt(12)에서 빈문자열을 반환한 것과는 차이가 있음.

개념적으로 undefined반환이 적절. undefined는 인덱스 ~번째가 없다는 뉘앙스가 강함.

 

indexOf()

구분 데이터(값)
data 검색대상
파라미터 검색할 문자열
검색시작 위치, 디폴트 : 0
반환  인덱스

data 위치의 문자열에서 파라미터의 문자와 같은 첫번째 인덱스를 반환

검색기준

 왼쪽에서 오른쪽으로 검색

var vlaue = "123123";

log(value.indexOf(2)); // '2'의 인덱스는 1이므로 1 반환.

log(value.indexOf(23); // 처음의 검색되는 문자는 '2'그래서 2의 인덱스는 1이므로 1반환.

 두번째 파라미터를 작성하면 작성한 인덱스부터 검색

var value = "123123";

log(value.indexOf(2, 3)); // 검색할 문자열은 2, 검색시작 위치는 3 . 3번인덱스가 있는곳부터 "2"를 찾음. '2'가 4번 인덱스에 있으므로 4를 반환함.

 같은 문자가 없으면 -1반환

var value = "123123";

log(value.indexOf(15)); //문장열중에 '15'가 없으므로 -1반환.

 

var value = "123123";

log(value.indexOf(2, -1)); // 두번째 파라미터 값이 0보다 작으면 처음부터 검색. 2의 인덱스는 1. 1반환

log(value.indexOf(2, 9)); // 두번째 파라미터 값이 length보다 크면 -1 반환. -1

log(value.indexOf(2, "A")); // 두번째 파라미터가 NaN이면 처음부터 검색. 2의 인덱스는 1. 1반환.

 

lastIndexOf()

구분 데이터(값)
data 검색대상
파라미터 검색할 문자열
검색시작 위치, 디폴트 : 0
반환 인덱스

data 위치의 문자열에서 파라미터의 문자와 같은 인덱스를 반환. 단 뒤에서 앞으로 검색

var value = "123123";

log(value.lastIndsxOf(2)); // 뒤에서부터 문자열 2를 찾고 2의 인덱스는 4이므로 4반환.

검색기준

 두번째 파라미터를 작성하면 작성한 인덱스부터 검색

var value = "1231231";

log(value.lastIndexOf(1, 4)); // 검색시작 위치가 4. 두번째 2부터 왼쪽으로 진행. 2앞에 1 위치. 1의 인덱스는 3.

log(value.lastIndexOf(2, -1)); // 두번째 파라미터가 0보다 작으면 -1반환.

 같은 문자가 없으면 -1 반환

 

'javascript' 카테고리의 다른 글

문자열추출  (0) 2021.09.28
문자열 연결, 대소문자 변환  (0) 2021.09.27
함수호출구조(?)  (0) 2021.09.23
length 값 반환 논리  (0) 2021.09.23
length 값 반환 논리  (0) 2021.09.16