โ๏ธ 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 |