reduce ํŒŒํ—ค์น˜๊ธฐ ๐Ÿ”

hareยท2023๋…„ 4์›” 4์ผ
0

js-tips

๋ชฉ๋ก ๋ณด๊ธฐ
3/5

๋ฐฐ์—ด ๋ฉ”์†Œ๋“œ reduce()๋Š” ์ดํ•ดํ•˜๊ณ  ์ž˜ ์“ด๋‹ค๋ฉด ๋งŽ์€ ์ƒํ™ฉ์—์„œ map, filter ๋ฉ”์†Œ๋“œ๋ฅผ ์•ˆ์จ๋„ ๋œ๋‹ค๊ณ  ํ•œ๋‹ค. ์˜ค๋Š˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฌธ์ œ๋ฅผ ํ’€๋ฉฐ reduce์˜ ๊ฐ„๋‹จํ•œ ์‚ฌ์šฉ๋ฒ•(arr+cur ๊ฐ™์€...)๋งŒ ์ˆ™์ง€ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ๊นจ๋‹ฌ์•˜๋‹ค.

map์„ ์“ฐ๊ณ  reduce์“ฐ๋Š” ๊ฑธ๋กœ ํ†ต๊ณผํ–ˆ์ง€๋งŒ, ์—ฌ๊ธฐ์„œ ์†๋„๋ฅผ ๋” ์ค„์ผ ์ˆ˜ ์žˆ์—ˆ์Œ์„ ๋ฐ˜์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ๋กํ•˜์ž.

reduce(์ฝœ๋ฐฑํ•จ์ˆ˜, ์ดˆ๊ธฐ๊ฐ’)

  • ์ฝœ๋ฐฑํ•จ์ˆ˜

    • accumulator; ์ฝœ๋ฐฑํ•จ์ˆ˜์˜ ์ง์ „ ํ˜ธ์ถœ ๋ฆฌํ„ด ๊ฐ’. ์ฒซ ํ˜ธ์ถœ ์‹œ ์ดˆ๊ธฐ๊ฐ’์„ ๋ช…์‹œํ–ˆ๋‹ค๋ฉด ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ ์„ค์ •, ์•„๋‹ˆ๋ฉด array[0]์˜ ๊ฐ’
    • currentValue; ํ˜„์žฌ ์š”์†Œ ๊ฐ’. ์ฒซ ํ˜ธ์ถœ ์‹œ ์ดˆ๊ธฐ๊ฐ’์„ ๋ช…์‹œํ–ˆ๋‹ค๋ฉด array[0]์˜ ๊ฐ’, ์•„๋‹ˆ๋ฉด array[1].
    • currentIndex (์˜ต์…”๋„); ์›๋ฐฐ์—ด์˜ currentValue ์ธ๋ฑ์Šค ์œ„์น˜.
      ์ฒซ ํ˜ธ์ถœ ์‹œ ์ดˆ๊ธฐ๊ฐ’์„ ๋ช…์‹œํ–ˆ๋‹ค๋ฉด 0, ์•„๋‹ˆ๋ฉด 1
    • array; ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœํ•œ ๋ฐฐ์—ด
  • ์ดˆ๊ธฐ๊ฐ’ (์˜ต์…”๋„); ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ ๋ฐฐ์—ด๋„ ๋„ฃ์„ ์ˆ˜ ์žˆ์Œ -> ํ™œ์šฉํ•œ ํ’€์ด

  • return ๊ฐ’

    • ๋ฐฐ์—ด์„ ๋‹ค ๋„๋Š” ๋™์•ˆ์˜ ๋ฆฌ๋“€์„œ ๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ์ฝœ๋ฐฑํ•จ์ˆ˜์˜ ์‹คํ–‰ ๊ฒฐ๊ณผ
      โš ๏ธ ๋นˆ ๋ฐฐ์—ด์ด๋ผ๋ฉด ์ดˆ๊ธฐ๊ฐ’ ์„ ์•ˆ๋„ฃ์–ด์ฃผ๋ฉด ํƒ€์ž…์—๋Ÿฌ๋ฅผ ๋ฐœ์ƒ!!
profile
ํ•ด๋œฐ๋‚ 

0๊ฐœ์˜ ๋Œ“๊ธ€