• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

template literal 강의에서의 reduce 메소드

20.12.08 15:41 작성 조회수 164

0

안녕하세요 강의를 듣다가 reduce 메소드를 사용한 코드에 대해 제가 잘 이해하고 있는지 한 번 확인해주실 수 있을까요?

아래 코드의 reduce 메소드가 안에서 어떻게 반복하는지 너무 헷갈려서 한 번 적어보았습니다...

1번

' ' + 이 사과는 하나에 +(2000+' ').replace(/\d{1,3}(?=(\d{3})+(?!\d))/g, '$&,')

2번

2,000+ ' ' + 원이고, 총 +(1234567 + ' ').replace(/\d{1,3}(?=(\d{3})+(?!\d))/g, '$&,')

3번

1,234,567+ ' ' + 개를 구입하시면 총 +(2000*1234567).replace(/\d{1,3}(?=(\d{3})+(?!\d))/g, '$&,')이다.

마무리로 '원 이에요.'의 strs[strs.length -1]을 더해준다

이렇게 안에서 반복한다고 보면 되나요? 

답변 2

·

답변을 작성해보세요.

0

k0502s님의 프로필

k0502s

질문자

2020.12.08

오...적어주신 코드를 보니까 더 명확하게 정리가 된 거 같습니다.

복잡해서 좀 정리가 안되었는데 이제서야 머릿속이 정리가 된 거 같아요!

정말 감사합니다!

0

정확합니다! 좀 더 명확하게는

-----------------

1회 )

p         : '' +
str[0]  : '이 사과는 하나에' +
(rpl)     : (2000 + '').replace(...)

2회)

p         : '이 사과는 하나에 2,000' +
str[1]   : '원이고 총 ' +
(rpl)     : (1234567 + '').replace(...)

3회)

p         : '이 사과는 하나에 2,000원이고, 총 1,234,567' +
str[2]  : '개를 구입하시면 총 ' +
(rpl)     : (2000 * 1234567 + '').replace(...)

reduce 종료 후)

+ '원 이예요.'

-----------------

요렇게 되겠네요.