2024. 8. 13. 23:27ใTIL
๐กreduce?
reduce ํจ์๋ ๋ฐฐ์ด์ ์์๋ฅผ ์์ฐจ์ ์ผ๋ก ์ํํ๋ฉฐ ์ซ์๋ ๋ฐฐ์ด์ด๋ ๊ฐ์ฒด๋ ํ๋์ ๊ฐ์ผ๋ก ์ค์ฌ returnํ๋ ํจ์์ด๋ค.
์ฆ, ๋ฐฐ์ด์ ๊ธฐ๋ฐ์ผ๋ก ํ๋์ ๊ฐ์ ๋์ถํ ๋ ์ฌ์ฉ๋๋ค.
reduce() ๊ธฐ๋ณธ๋ฌธ๋ฒ
arr.reduce(callback, initialValue)
- callback : ๊ฐ ์์๋ฅผ ์ฒ๋ฆฌํ๋ ์ฝ๋ฐฑ ํจ์๋ก ์ด ํจ์๊ฐ ๋ฐ๋ ๋งค๊ฐ๋ณ์๋ ์๋๊ฐ ์๋ค.
• accumulator : ์ด์ ์ฝ๋ฐฑ ํจ์ ํธ์ถ์ ๋ฐํ๊ฐ์ด๋ค. ์ด๊ธฐ๊ฐ์ ์ง์ ํ์ง ์์ ๊ฒฝ์ฐ ์ฒซ ๋ฒ์งธ ์์๊ฐ ์ด๊ธฐ๊ฐ์ด ๋๋ค.
• currentValue: ํ์ฌ ์ฒ๋ฆฌ ์ค์ธ ์์์ ๊ฐ์ด๋ค.
• currerntIndex: ํ์ฌ ์ฒ๋ฆฌ์ค์ธ ์์์ ์ธ๋ฑ์ค์ด๋ค.
• array: ์๋ณธ ๋ฐฐ์ด ์์ฒด์ด๋ค.
- initialValue : ์ด๊ธฐ๊ฐ์ผ๋ก ์ฌ์ฉํ ๊ฐ์ผ๋ก, ์๋ตํ๋ฉด ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ์์๊ฐ ์ด๊ธฐ๊ฐ์ด ๋๋ค.
โ reduce() ๋ฉ์๋๋ ์ฝ๋ฐฑ ํจ์๋ฅผ ์์ฐจ์ ์ผ๋ก ํธ์ถํ๋ฉด์ ๋์ ๊ฐ์ ๊ณ์ฐํฉ๋๋ค. ๊ฐ ํธ์ถ๋ง๋ค ์ฝ๋ฐฑ ํจ์์ ๋ฐํ๊ฐ์ด ๋ค์ ํธ์ถ์ accumulator ๊ฐ์ด ๋ฉ๋๋ค.
์์
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((acc, curr) => acc + curr, 0);
console.log(sum);
=> ์ด๊ธฐ๊ฐ์ผ๋ก 0์ ์ฌ์ฉํ์ผ๋ฉฐ, ๊ฐ ์์๋ฅผ ๋์ ๊ฐ์ ๋ํ๋ค.
acc์๋ ๋ํด์ง ๊ฐ์ด ๋์ ๋๋ฉฐ, curr๋ ๋์ ๋ ๊ฐ์ด ๋ค์ด๊ฐ๋ค.
'TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
TIL ( ๋ฉด์ ์นดํ jwt ) (0) | 2024.08.16 |
---|---|
TIL( SQL ๊ธฐ๋ณธ๋ฌธ๋ฒ ) (0) | 2024.08.14 |
TIL ( Redis-cache ) (0) | 2024.08.12 |
TIL ( GUBU ํ๋ก์ ํธ ์ค๊ฐ KPT ) (0) | 2024.08.09 |
TIL ( Faker ) (0) | 2024.08.07 |