reduce() ๋ฉ์๋
reduce()
- ๋ฐฐ์ด์ ๊ฐ ์์์ ๋ํด ์ฃผ์ด์ง ๋ฆฌ๋์(reducer) ํจ์๋ฅผ ์คํํ๊ณ , ํ๋์ ๊ฒฐ๊ณผ๊ฐ์ ๋ฐํํ๋ค.
- ๋ฆฌ๋์ ํจ์์ ๋ฐํ ๊ฐ์ ๋์ฐ๊ธฐ์ ํ ๋น๋๊ณ , ๋์ฐ๊ธฐ๋ ์ํ ์ค ์ ์ง๋๋ฏ๋ก ๊ฒฐ๊ณผ๋ ํ๋์ ๊ฐ!
๋งค๊ฐ๋ณ์
-callback
1. ๋์ฐ๊ธฐ(acc) - ์ฝ๋ฐฑ์ ๋ฐํ๊ฐ์ ๋์ , initialvalue๊ฐ ์์ผ๋ฉด initialValue๊ฐ ๋๋ค.
2. ํ์ฌ ๊ฐ (cur) - ์ฒ๋ฆฌํ ํ์ฌ ์์
3. ์ธ๋ฑ์ค (idx) optional - ์ฒ๋ฆฌํ ํ์ฌ ์์์ ์ธ๋ฑ์ค, initialValue๊ฐ ์์ผ๋ฉด 0, ์๋๋ฉด 1
4. ์๋ณธ ๋ฐฐ์ด (src) optional - reduce()๋ฅผ ํธ์ถํ ๋ฐฐ์ด
-initialValue optional
์ฝ๋ฐฑ์ ์ต์ด ํธ์ถ์์ ์ฒซ ๋ฒ์งธ ์ธ์์ ์ ๊ณตํ๋ ๊ฐ. ์ ๊ณตํ์ง ์์ผ๋ฉด ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ์์๋ฅผ ์ฌ์ฉ.
๋น ๋ฐฐ์ด์์ ์ด๊ธฐ๊ฐ์ด ์์ ๊ฒฝ์ฐ ์๋ฌ๊ฐ ๋ฐ์
๋ฐํ๊ฐ
๋์ ๊ณ์ฐ์ ๊ฒฐ๊ณผ ๊ฐ
์ฌ์ฉ ์ ์ฃผ์ํ ์
- initialValue ์์ ๋ ๐ acc๋ ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ๊ฐ(์์์์ 1), cur์ ๋ฐฐ์ด์ ๋ ๋ฒ์งธ ๊ฐ (์์์์ 2)

- initialValue ์์ ๋ ๐ acc๋ initailValue (์์์์ 0), cur์ ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ๊ฐ (์์์์ 1)

์์ ๋น๊ต์ฒ๋ผ initailValue๋ฅผ ์ ๊ณตํ์ง ์์ผ๋ฉด ์ธ๋ฑ์ค 1๋ถํฐ ์ฝ๋ฐฑ ํจ์๋ฅผ ์คํํ๋ฏ๋ก initialValue๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ด ์์ ํ๋ค!!!๐ท๐ปโโ๏ธ๐ท๐ปโโ๏ธ