arr.reduce(callback[, initialValue])
reduce() ๋ฉ์๋๋ ๋ฐฐ์ด์ ๊ฐ ์์์ ๋ํด ์ฃผ์ด์ง ๋ฆฌ๋์ (reducer) ํจ์๋ฅผ ์คํํ๊ณ , ํ๋์ ๊ฒฐ๊ณผ๊ฐ์ ๋ฐํํ๋ค.
๋ฆฌ๋์ ํจ์ ๋ ๋ค ๊ฐ์ ์ธ์๋ฅผ ๊ฐ์ง๋ค.
๋ฆฌ๋์ ํจ์์ ๋ฐํ ๊ฐ์ ๋์ฐ๊ธฐ์ ํ ๋น๋๊ณ , ๋์ฐ๊ธฐ๋ ์ํ ์ค ์ ์ง๋๋ฏ๋ก ๊ฒฐ๊ตญ ์ต์ข ๊ฒฐ๊ณผ๋ ํ๋์ ๊ฐ์ด ๋๋ค.
๋์ฐ : ์ด๋ฏธ ๊ณ์ฐํ ๊ฒฐ๊ณผ์ ์์น๋ฅผ ๊ณ์ ๋ํ์ฌ ๊ณ์ฐํจ
callback
๋ฐฐ์ด์ ๊ฐ ์์์ ๋ํด ์คํํ ํจ์. ๋ค์ ๋ค ๊ฐ์ง ์ธ์๋ฅผ ๋ฐ๋๋ค.
accumulator
๋์ฐ๊ธฐ๋ ์ฝ๋ฐฑ์ ๋ฐํ๊ฐ์ ๋์ ํ๋ค. ์ฝ๋ฐฑ์ ์ด์ ๋ฐํ๊ฐ ๋๋, ์ฝ๋ฐฑ์ ์ฒซ ๋ฒ์งธ ํธ์ถ์ด๋ฉด์ initialValue๋ฅผ ์ ๊ณตํ ๊ฒฝ์ฐ์๋ initialValue์ ๊ฐ.
currentValue
์ฒ๋ฆฌํ ํ์ฌ ์์.
currentIndex Optional (์ ํ)
์ฒ๋ฆฌํ ํ์ฌ ์์์ ์ธ๋ฑ์ค. initialValue๋ฅผ ์ ๊ณตํ ๊ฒฝ์ฐ 0, ์๋๋ฉด 1๋ถํฐ ์์.
array Optional (์ ํ)
reduce()๋ฅผ ํธ์ถํ ๋ฐฐ์ด.
initialValue (์ ํ)
callback์ ์ต์ด ํธ์ถ์์ ์ฒซ ๋ฒ์งธ ์ธ์์ ์ ๊ณตํ๋ ๊ฐ. ์ด๊ธฐ๊ฐ์ ์ ๊ณตํ์ง ์์ผ๋ฉด ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ์์๋ฅผ ์ฌ์ฉ. ๋น ๋ฐฐ์ด์์ ์ด๊ธฐ๊ฐ ์์ด reduce()๋ฅผ ํธ์ถํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ค.
๋์ ๊ณ์ฐ์ ๊ฒฐ๊ณผ ๊ฐ