Dragonball Online Goku Hand
본문 바로가기
Javascript

slice() / substring() / substr()

by 별의 코비 2022. 8. 16.
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가 배열의 길이보다 크다면? 배열의 끝(배열의 길이)까지 추출

*규칙*
시작 위치 < 끝나는 위치

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으로 설정됨
: 매개변수가 둘다 음수값이라면 반환값 없음

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[옵션]
: 자르는 문자열의 길이 값입니다. 생략이 가능하며 생략을 하는 경우 문자열의 시작 위치부터 문자열의 끝까지 추출하여 반환합니다.

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

댓글