강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

k0502s님의 프로필 이미지
k0502s

작성한 질문수

Javascript ES6+ 제대로 알아보기 - 초급

String.raw

template literal 강의에서의 reduce 메소드

작성

·

299

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
질문자

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

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

정말 감사합니다!

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 종료 후)

+ '원 이예요.'

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

요렇게 되겠네요.

k0502s님의 프로필 이미지
k0502s

작성한 질문수

질문하기