728x90
slice() / substring() / substr() 에 대해 알아봅시다!
01. slice() 메서드
slice() 메서드는 주어진 배열의 start 인덱스부터 end 인덱스까지(단, end인덱스는 포함하지 않음)에 대한 새로운 배열 객체로 반환합니다.
★slice(start index, end index)★
//start index
: 0을 시작으로 하는 시작점에 대한 인덱스
: 만약 음수라면 배열의 끝에서부터의 길이를 나타냄
(-1이면 배열에서 제일 마지막 한 개 추출)
: 배열의 길이보다 큰 값이면 빈 배열을 반환
//end index
: 추출을 종료할 인덱스(end index를 제외하고 추출)
: end가 생략되면? 배열의 끝까지(배열의 길이) 추출
: end가 배열의 길이보다 크다면? 배열의 끝(배열의 길이)까지 추출
*규칙*
시작 위치 < 끝나는 위치
//start index
: 0을 시작으로 하는 시작점에 대한 인덱스
: 만약 음수라면 배열의 끝에서부터의 길이를 나타냄
(-1이면 배열에서 제일 마지막 한 개 추출)
: 배열의 길이보다 큰 값이면 빈 배열을 반환
//end index
: 추출을 종료할 인덱스(end index를 제외하고 추출)
: end가 생략되면? 배열의 끝까지(배열의 길이) 추출
: end가 배열의 길이보다 크다면? 배열의 끝(배열의 길이)까지 추출
*규칙*
시작 위치 < 끝나는 위치
slice() 사용 예제
const str1 = "javascript reference";
const currentStr1 = str1.slice(0); //javascript reference
const currentStr2 = str1.slice(1); //avascript reference
const currentStr3 = str1.slice(2); //vascript reference
const currentStr4 = str1.slice(0, 1); //j
const currentStr5 = str1.slice(0, 2); //ja
const currentStr6 = str1.slice(0, 3); //jav
const currentStr7 = str1.slice(1, 2); //a
const currentStr8 = str1.slice(1, 3); //av
const currentStr9 = str1.slice(1, 4); //avs
const currentStr10 = str1.slice(-1); //e
const currentStr11 = str1.slice(-2); //ce
const currentStr12 = str1.slice(-3); //nce
const currentStr13 = str1.slice(-3, -1); //nc //-1 자리와 -3 자리르 바꾸면 더 큰 것이 앞으로 오기 때문에 값이 안 나옴!
const currentStr14 = str1.slice(-3, -2); //n
const currentStr15 = str1.slice(-3, -3); //
const currentStr16 = str1.slice(1, 4); //ava
const currentStr17 = str1.slice(4, 1); //'' 아무것도 안 나옴
02. substring() 메서드
substring() 메서드는 문자열에서 특정한 구간의 문자열을 추출합니다.
★substring(start index, end index)★
: 리턴값은 잘라진 문자열, 즉 시작 인덱스부터 끝 인덱스 바로 앞까지 반환
: end값은 생략 가능(시작부터 끝까지) : start값이 end값보다 크다면 작은 숫자가 시작 위치로 큰 숫자가 종료 위치로 셋팅(slice() 메서드와 차이점)
: 매개변수 둘 중에 한개 값이 음수값이라면 시작위치가 0으로 설정됨
: 매개변수가 둘다 음수값이라면 반환값 없음
: 리턴값은 잘라진 문자열, 즉 시작 인덱스부터 끝 인덱스 바로 앞까지 반환
: end값은 생략 가능(시작부터 끝까지) : start값이 end값보다 크다면 작은 숫자가 시작 위치로 큰 숫자가 종료 위치로 셋팅(slice() 메서드와 차이점)
: 매개변수 둘 중에 한개 값이 음수값이라면 시작위치가 0으로 설정됨
: 매개변수가 둘다 음수값이라면 반환값 없음
substring() 사용 예제
const str1 = "javascript reference";
const currentStr18 = str1.substring(1, 4); //ava
const currentStr19 = str1.substring(4, 1); //ava
03. substr() 메서드
substr() 메서드는 문자열에서 원하는 값을 추출하여 문자열을 반환하는 메서드 중 하나입니다.
시작 위치에서 인자로 전달한 길이만큼 문자열을 잘라서 문자열로 리턴합니다.
★substr(start index, length) or substr(start index)★
start[필수]
: 자르는 문자의 시작 위치 값입니다.
: 양수일 경우, 문자의 길이보다 작으면 빈문자열이 리턴
: 음수일 경우, 시작위치는 문자열의 뒤에서부터 시작
length[옵션]
: 자르는 문자열의 길이 값입니다. 생략이 가능하며 생략을 하는 경우 문자열의 시작 위치부터 문자열의 끝까지 추출하여 반환합니다.
start[필수]
: 자르는 문자의 시작 위치 값입니다.
: 양수일 경우, 문자의 길이보다 작으면 빈문자열이 리턴
: 음수일 경우, 시작위치는 문자열의 뒤에서부터 시작
length[옵션]
: 자르는 문자열의 길이 값입니다. 생략이 가능하며 생략을 하는 경우 문자열의 시작 위치부터 문자열의 끝까지 추출하여 반환합니다.
substr() 사용 예제
const str1 = "javascript reference";
const currentStr20 = str1.substr(0); //javascript reference
const currentStr21 = str1.substr(1); //avascript reference
const currentStr22 = str1.substr(2); //vascript reference
const currentStr23 = str1.substr(0, 1); //j
const currentStr24 = str1.substr(0, 2); //ja
const currentStr25 = str1.substr(0, 3); //jav
const currentStr26 = str1.substr(1, 2); //av
const currentStr27 = str1.substr(1, 3); //ava
const currentStr28 = str1.substr(1, 4); //avas
const currentStr29 = str1.substr(-1); //e
const currentStr30 = str1.substr(-2); //ce
const currentStr31 = str1.substr(-3); //nce
const currentStr32 = str1.substr(-1, 1); //e
const currentStr33 = str1.substr(-2, 2); //ce
const currentStr34 = str1.substr(-3, 3); //nce
'Javascript' 카테고리의 다른 글
toUppercase() / toLowercase() (1) | 2022.08.18 |
---|---|
템플릿 문자열 (1) | 2022.08.18 |
indexOf() / lastIndexOf() (3) | 2022.08.16 |
정규표현식 (3) | 2022.08.16 |
내장 함수 (5) | 2022.08.16 |
댓글