[javascript] 배열 합치기
배열을 합치는 방법은 배열 요소를 합쳐 하나의 문자열로 만드는 것과
2개 이상읠 배열을 합쳐 하나의 배열로 만드는 것으로 구분합니다.
둘은 완전히 다른 방법이지만, 메서드가 유사하다보니 가장 많이 혼동을 하기도 합니다.
배열 요소를 합쳐 문자열로 만드는 것은 join(), 2개 이상의 배열을 합쳐 하나의 배열로 만드는 것은 concat() 입니다.
concat() 메서드의 경우 다른 언어에서는 2개 이상의 문자열을 하나로 합치는 메서드로 사용되기도 하기 때문에 혼동일 있을 수 있습니다.
사용 방법을 숙지해 혼동하지 않도록 해야 합니다.
배열을 하나의 문자열로 합치기
const arr_str1 = ['아주', '오래전', '바닷가', '어느 왕국에', '당신이', '알지도 모를', '한 소녀가', '살았다.'];
const str1 = arr_str1.join(' ');
console.log(str1);
join() 메서드는 인자를 하나 받으며, 배열 요소를 하나로 합칠 때 배열 요소 사이에 넣을 구분자로 사용할 수 있습니다.
인자가 없을 경우 기본값이 있으며, 쉼표 ',' 가 사용됩니다.
즉, 인자가 없으면 쉼표가 자동으로 배열 요소 사이 사이에 붙게 됩니다.
구분자 없이 하나의 문자열로 합치려면 join('') 과 같이 빈 문자열을 넣어야 합니다.
구분자 인자는 문자열을 넣을 수도 있습니다.
const arr_str2 = ['아반떼', '쏘나타', '그렌져', '싼타페', '투싼'];
const str2 = arr_str2.join(', ');
const str3 = arr_str2.join();//인자 없이 합칠 경우 자동으로 쉼표가 들어감
console.log(str2);console.log(str3);
개행 문자와 같은 특수 문자를 넣어 문자열을 여러줄로 출력할 수 있습니다.
const str4 = arr_str1.join('\n');
console.log(str4);
2개 이상의 배열을 하나의 배열로 합치기
concat() 메서드는 다양한 방법으로 합쳐진 하나의 배열을 만들 수 있는 방법을 제공합니다
배열.concat(배열)
const arr_str1 = ['딸기', '바나나', '수박'];const arr_str2 = ['포도', '키위', '자몽'];
const arr_new = arr_str1.concat(arr_str2);
const arr_inline = ['사과', '배'].concat(arr_str2);
console.log(arr_new);
console.log(arr_inline);
배열.concat(인자1, 인자2...)
const arr_new2 = arr_str1.concat('사과', '배');
console.log(arr_new2);