JavaScript에서 동일한 문자열을 여러 번 반복해 하나로 이어 붙여야 할 때가 있습니다. 이럴 때 join() 메서드를 활용하면 간단하게 해결할 수 있습니다. 핵심은 배열의 길이를 원하는 반복 횟수보다 1 크게 만드는 것입니다.
join()으로 문자열 반복 연결하기
배열의 join() 메서드는 배열의 각 요소 사이에 지정한 구분자를 삽입해 하나의 문자열로 합쳐 줍니다. 만약 빈 배열에 길이가 n+1인 배열을 만든 뒤 join('John')을 호출하면, 요소 사이사이에 'John'이 총 n번 삽입되므로 결과적으로 문자열이 n번 반복됩니다.
즉, 문자열을 길이-1만큼 연결하려면 다음과 같이 작성합니다.
var count = 5;
var values = new Array(count + 1).join('John');
console.log(values);
var count1 = 5;
var values1 = new Array(count1).join('John');
console.log(values1);코드 설명
new Array(count + 1): 길이가 6인 빈 배열을 생성합니다..join('John'): 6개의 빈 요소 사이에 'John'을 구분자로 삽입하므로 'John'이 5번 반복됩니다.- 반면
new Array(count)처럼 길이를 그대로 사용하면 요소가 5개뿐이므로 'John'은 4번만 삽입됩니다.
프로그램 실행 방법
위 프로그램을 실행하려면 Node.js 환경에서 다음 명령어를 입력합니다.
node fileName.js
여기서는 파일 이름이 demo274.js라고 가정합니다.
실행 결과
위 코드를 실행하면 콘솔에 아래와 같은 출력이 나타납니다.
PS C:\Users\Amit\javascript-code> node demo274.js JohnJohnJohnJohnJohn JohnJohnJohnJohn
첫 번째 결과는 길이+1 배열을 사용해 'John'이 정확히 5번 반복된 것이고, 두 번째 결과는 길이를 그대로 사용해 4번만 반복된 것입니다. 이처럼 join()의 구분자 삽입 방식을 이해하면 별도의 반복문 없이도 원하는 횟수만큼 문자열을 손쉽게 연결할 수 있습니다.