문자열을 배열로 변환 -
split ( )
특정 문자를 기준으로 문자열을 분리할 수 있다.
알고리즘을 풀다가
var str = '1 2 3 4' // 공백이 있다....
최대, 최솟값을 최대값 (공백) 최솟값 이렇게 공백을 하나 넣고 반환하는 문제 풀이가 있었는데,
접근을 우선 str 를 배열로 만든 후 spread Operator로 간단하게 최대 최소값을 구하려고 했다.
문자열을 배열로 만드는 방법중에 처음에는 Array from 을 사용해봤다.
var str = ' 1 2 3 4' // 공백있는 문자열
var newArr = Array.from ( str ) // [ '1', '공백', '2', '공백', '3', '공백' , '4', ]
문자열을 특정 문자를 기준으로 문자열을 분리하여, 배열로 만드는 메소드가 없을까 검색 해보다가
split 라는 메소드를 이용하면 되었다.
string.split([separator[,limit]
문자열 || 정규식표현 을 입력하여 구분 지을 수 있다. ex) var str='1 2 3 4' str.split() // [1 2 3 4] 배열 한개의 요소로..크기가 1인 배열을 반환
const str = '010-123-456-789'
const newArr = str.split()
console.log(newArr)// ['010-123-456-789']
const str = '010-123-456'
const newArr = str.split('-')
const str2 = '1 2 3 4' // 공백있는 문자열
const newArr2 = str.split(' ')// 공백 집어넣어주면
console.log(newArr) // ['010','123','456'] 하이픈 날리고
console.log(newArr2)// ['1','2','3','4'] 공백날리고
문자열을 문자로 분리
const str = '1234'
const newArr = str.split('');
console.log(newArr) // [ '1', '2', '3', '4' ] 어? 이해가 살짝안대네..
const str='1234'
const compareArr = str.split();
console.log(compareArr) // [ '1234' ]
split 에서 정규표현식을 첫 번째 인자로 넣어 주어 기준을 정할 수 있다.
const str = 'a1b2c3d4e'
const newArr = str.split(/\d/);
console.log(newArr) // ['A', 'B', 'C', 'D', 'E']
두 번째 인자에 문자열 개수를 설정하여 배열의 크기를 제한 할 수 있다.
const str = '010-123-456'
const newArr = str.split('-',2);
console.log(newArr) // ['010','123']
const str2 = '1 2 3 4'
const newArr2 = str.split(' ',2)
console.log(newArr2)// [ '1', '2' ]