알고리즘/JavaScript

JavaScript) 문자열을 잘라서 배열로 바꾸는 split 메소드

홍구리당당 2023. 10. 23. 22:43

0. split 메소드

JavaScrip에서는 문자열을 자를 때에 split 메소드를 활용한다.

이번 시간에 어떻게 split 메소드를 잘 활용할 수 있을지, 메소드를 잘 알아보자.

1. split 메소드 기본 동작

split 메소드는 String 형 자료형에 쓰는 메소드이다.

인자로 받은 값을 구분자로 받아, 문자열을 구분자 기준으로 자른 후 배열에 저장하여 리턴해준다.

let array = string.split(seperator, limit);

이 때 split 메소드의 인자는 두 개가 있는데,

  1. seperator: 구분자. seperator을 기준으로 문자열을 자름. 필수 값이 아니다!!
  2. limit: 최대 분할 갯수. 필수 값이 아니다!!

EX 1. 파라미터를 아무 것도 입력하지 않을 경우.

문자열을 통째로 배열에 담아서 리턴한다.

let str = " hello java script ";
let arr = str.split();

console.log(arr); // [" hello java script "]
console.log(arr.length); // 1

EX 2. seperator 인자를 입력할 경우.

문자열을 구분자로 잘라 배열에 담는다. 주의할 점!! 빈 문자열 "" 도 하나의 원소 취급을 한다.

아래 코드에서, hello, java, script 이렇게 문자열이 3개로 잘릴 거라 예상하지만 공백 앞의 "" 문자열도 하나의 원소 취급을 하기 때문에 아래와 같이 출력된다.

let str = " hello java script ";
let arr = str.split(" ");

console.log(arr); // [ '', 'hello', 'java', 'script', '' ]
console.log(arr.length); // 5
let str = " hello java script   ";
let arr = str.split(" ");

console.log(arr); // [ '', 'hello', 'java', 'script', '', '', '' ]
console.log(arr.length); // 7

EX 3. seperator 인자와 limit 인자를 입력할 경우.

seperator 구분자에 따라 문자열을 잘라 배열을 만드는데, 만약 배열의 길이가 limit 를 넘어갈 경우 limit를 넘어간 원소들은 그냥 버려버리고 딱 limit 크기만큼의 배열만 생성한다.

let str = " hello java script ";
let arr = str.split(" ", 3);

console.log(arr); // [ '', 'hello', 'java']
console.log(arr.length); // 3
console.log(arr[4]); // undefined