보통 split 함수는 문자열을 배열로 바꿀 때 많이 사용한다.
split 함수는 반드시 문자열만을 가지고 사용해야 한다. 숫자나 다른 데이터 타입은 오류가 난다.
split('')
let sentence = '제 이름은 황희윤입니다.'
let newSentence = sentence.split('');
console.log(newSentence);
// ['제', ' ', '이', '름', '은', ' ', '황', '희','윤', '입', '니', '다','.']
split(' ')
let sentence = '제 이름은 황희윤입니다.'
let newSentence = sentence.split(' ');
console.log(newSentence);
// ['제', '이름은', '황희윤', '입니다.']
문제 : 두 숫자 a와 b가 하나의 숫자처럼 합쳐져 주어지면, a의 b승을 구하시오.
function powerof(a){
let str = String(a) // a를 문자열로 바꾸기
let strA = str.split(''); // 문자열 a를 글자 단위로 쪼개기
return Number(strA[0]**strA[1]); // 두 글자 중 첫번째 글자의 두번째 글자만큼의 승을 구하고 다시 숫자 타입으로 바꿔준다.
}
console.log(powerof(23)); // 8
문제 : 문장을 거꾸로 출력하시오.
function getReverse(a){
return a.split('').reverse().join('')
}
console.log(getReverse('황희윤')); // 윤희황
먼저 '황희윤' 문자열을 '황','희,'윤'으로 나눈다. 이 때 값은 배열에 담긴다.
reverse 함수를 통해 배열을 ['윤', '희', '황']으로 바꾼다.
join 함수를 사용해 배열을 이어준다.
join 함수는 배열의 모든 문자열을 이어준다.
값은 하나의 문자열로 반환된다.
separator에 아무것도 집어넣지 않으면 배열의 요소들이 쉼표(,)로 구분된다.
let name = ['황', '희', '윤'];
console.log(name.join());
// expected output: '황,희,윤'
console.log(name.join(''));
// expected output: '황희윤'
console.log(name.join('-'));
// expected output: '황-희-윤'