๐Ÿธminzzi
Minzzi์•ผ
๐Ÿธminzzi
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (132)
    • ์˜ค๋ฅ˜ํ•ด๊ฒฐ (14)
    • FE (36)
      • Next.js (17)
      • React (4)
      • React Native (0)
      • TypeScript (1)
      • JavaScript (14)
    • BE (0)
      • Nest.js (0)
    • ๋ฐ๋ธŒ์ฝ”์Šค (7)
    • ์›น ํ”„๋กœ์ ํŠธ (5)
    • CS (28)
      • Algorithm (5)
      • Python (4)
      • C++ (2)
      • Operating System (4)
      • Computer Networking (3)
      • Data Structure (1)
      • Machine Learning (3)
      • Tip (6)
    • Github (4)
    • Flutter (3)
      • ํ”„๋กœ์ ํŠธ (3)
    • Private (3)
      • ํšŒ๊ณ  (7)
      • ๋ฉด์ ‘ (17)
    • ๊ฐœ๋ฐœ๋„์„œ (7)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ์ฝœ์Šคํƒ
  • ํ˜ธ์ด์ŠคํŒ…
  • ํž™์˜์—ญ
  • ๋ ‰์‹œ์ปฌ
  • ์‹คํ–‰์ปจํ…์ŠคํŠธ
  • SSR
  • layout shift
  • next.js
  • ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
  • ์ด๋ฒคํŠธ๋ฃจํ”„
  • ์˜ค๋ธ”์™„
  • ๋ชจ๋˜๋ฆฌ์•กํŠธ๋”ฅ๋‹ค์ด๋ธŒ
  • react
  • ์ด๋ฏธ์ง€ ์ตœ์ ํ™”
  • ์‹คํ–‰์ปจํƒ์ŠคํŠธ
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
  • ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…
  • reflow
  • ์›์‹œํƒ€์ž…
  • ๋ฉด์ ‘

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
๐Ÿธminzzi

Minzzi์•ผ

FE/JavaScript

[JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ reduce ํ•จ์ˆ˜ ์‚ฌ์šฉ๋ฒ•

2024. 2. 28. 19:02

โœ”๏ธ reduce() ์š”์•ฝ

reduce()ํ•จ์ˆ˜๋Š” ๋ฐฐ์—ด์—์„œ ์‚ฌ์šฉํ•จ.

๋ฐฐ์—ด์˜ ์š”์†Œ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ˆœํšŒํ•˜๋ฉฐ ํŠน์ •ํ•œ ๊ฐ’(์ˆซ์ž, ๋ฐฐ์—ด, ๊ฐ์ฒด ๋“ฑ)์„ returnํ•˜๋Š” ํ•จ์ˆ˜.


โœ”๏ธ reduce() ์˜ ๊ธฐ๋ณธ๋ฌธ๋ฒ•

arr.reduce(callback(accumulator, currentValue, index, array), initialValue);
  • reduce()๋ฅผ ๋ถ€๋ฅด๋ฉด callbackํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•ด์•ผํ•จ.
  • callbackํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋“ค์€ ๊ฐ๊ฐ ์ด๋Ÿฌํ•จ
    • accumulator : ์ฝœ๋ฐฑํ•จ์ˆ˜์˜ ๋ฐ˜ํ™˜๊ฐ’
    • currentValue : ๋ฐฐ์—ด์˜ ์š”์†Œ๋ฅผ ์ˆœ์ฐจ์ ์œผ๋กœ ์ˆœํšŒํ• ๋•Œ์˜ ํ˜„์žฌ ์š”์†Œ
    • index(์˜ต์…˜) : ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค
    • array(์˜ต์…˜) : reduceํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋œ ๋ฐฐ์—ด(arr)

โœ”๏ธ ์‚ฌ์šฉ๋ฒ•

function ํ˜•์‹

var arr = [1, 2, 3, 4, 5]

arr.reduce(function(a, b) {
	return a += b; // a๊ฐ€ ๋ฐ˜ํ™˜๋จ
}, 0);

arrow function ํ˜•์‹ -> ์œ„์™€ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ์ฝ”๋“œ

var arr = [1, 2, 3, 4, 5]

arr.reduce((a, b) => (a += b), 0);
// a๋Š” ๊ฒฐ๊ณผ๊ฐ’
// b๋Š” ํ˜„์žฌ๊ฐ’
// (a += b) ์‹คํ–‰ํ•  ํ•จ์ˆ˜
// 0 ์ดˆ๊ธฐ๊ฐ’

๐Ÿšจ ์ฃผ์˜ ํ•  ์ 

reduce๋Š” ์Šคํ”„๋ ˆ๋“œ ์—ฐ์‚ฐ์ž(...)์™€ ํ•จ๊ป˜์‚ฌ์šฉ๋  ๊ฒฝ์šฐ, ์‹œ๊ฐ„๋ณต์žก๋„๊ฐ€ ๊ธ‰๊ฒฉํžˆ ์ฆ๊ฐ€ํ•œ๋‹ค!! ์ฃผ์˜ํ•˜์ž.

์ฐจ๋ผ๋ฆฌ ์Šคํ”„๋ ˆ๋“œ ์—ฐ์‚ฐ์ž๋ฅผ ์จ์•ผํ•  ๋•Œ์—๋Š” ๊ทธ๋ƒฅ map์„ ์จ์„œ ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•˜๋Š”๊ฒŒ ์‹œ๊ฐ„๋ณต์žก๋„ ๋ฉด์—์„œ ํ›จ์”ฌ ๋‚ซ๋‹ค

์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'FE > JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ slice ๋ฉ”์†Œ๋“œ  (0) 2024.03.04
[JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Join ์‚ฌ์šฉ๋ฒ•  (0) 2024.03.03
[JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์˜ฌ๋ฆผ, ๋‚ด๋ฆผ, ๋ฐ˜์˜ฌ๋ฆผ(Math ๋ฉ”์†Œ๋“œ)  (0) 2024.03.01
[JavaScript] ๋ฆฌ์ŠคํŠธ ์ถ”๊ฐ€ํ•˜๊ธฐ  (0) 2024.02.28
[JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ˜•๋ณ€ํ™˜  (2) 2024.02.27
    'FE/JavaScript' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ Join ์‚ฌ์šฉ๋ฒ•
    • [JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์˜ฌ๋ฆผ, ๋‚ด๋ฆผ, ๋ฐ˜์˜ฌ๋ฆผ(Math ๋ฉ”์†Œ๋“œ)
    • [JavaScript] ๋ฆฌ์ŠคํŠธ ์ถ”๊ฐ€ํ•˜๊ธฐ
    • [JavaScript] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ˜•๋ณ€ํ™˜
    ๐Ÿธminzzi
    ๐Ÿธminzzi

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”