TIP 4 | JS - 문자열 반복하기

Yonghyun·2021년 8월 25일
0

TIP

목록 보기
4/4

문자열 여러번 반복생성하기

'*'이라는 문자를 여러번 써야할 상황이 있다고 하자.(별찍기 하다가 생각나서 알아본거 너무 티나지만 ㅎㅎ..)
물론 그냥 원하는 개수만큼 '*******'이렇게 별을 찍어줄수도 있다. 그러나 몇백, 몇천개를 찍어야 하는 상황이 온다면...? 뭐 그렇게라도 찍으면 된다고 생각할수도 있다. 그래도 일단 알아두면 다 쓸데가 있는법이랬으니까 자바스크립트에서 문자열을 반복해서 생성하는 방법을 알아보자.

String.prototype.repeat(n)

=> '반복하고자 하는 문자열'.repeat(반복할 횟수)
단, n을 생략하거나 0을 입력하면 ''처럼 빈 문자열을 반환한다.

'*'.repeat(3);		// '***'
'가나다'.repeat(4);	// '가나다가나다가나다가나다'
'abc'.repeat(2);	// 'abcabc'
'asdf'.repeat(0);	// ''
'아무말'.repeat();	// ''

Array.prototype.join() 활용하기

=> Array(n+1).join('반복하고자 하는 문자열')
문자열을 n번 반복해서 생성하고 싶은경우에 n+1을 입력해주어야 한다.
원래 join("구분자") 메서드는,
[1,2,3].join("-") => "1-2-3" 처럼 배열 모든 요소들을 "구분자"로 연결한 문자열을 반환하는 메서드다. 이런 메서드의 기능에 따라

  1. Array(5) => length가 5인 배열 생성 (new Array(5) 와 동일)
  2. Array(5).join("") => 배열의 요소 5개를 ""로 이어붙인 문자열 반환.

결과적으로 배열의 5개 요소 사이를 이어붙인 "*"만 4개가 남게된다.

=> ""*""*""*""*""

이렇기 때문에 반복하고 싶은 횟수 n에 1을 더해 n+1을 넣어주어야 문자열을 원하는 횟수만큼 반복생성할 수 있다.

profile
Life is all about timing.

0개의 댓글