RSS DEV ์ปค๋ฎค๋‹ˆํ‹ฐ

๐Ÿ”ฅ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ธํ„ฐ๋ทฐ ์‹œ๋ฆฌ์ฆˆ(10): ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ โ€” map, reduce, filter ์„ค๋ช…

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ฉด์ ‘์—์„œ๋Š” ์ข…์ข… ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ง€์‹์„ ํ…Œ์ŠคํŠธํ•˜๋ฉฐ, ํŠนํžˆ `map`, `filter`, `reduce`์™€ ๊ฐ™์€ ๋ฐฐ์—ด ๋ฉ”์„œ๋“œ๋ฅผ ์ค‘์ ์ ์œผ๋กœ ๋‹ค๋ฃน๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฉ”์„œ๋“œ๋Š” ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. `Map`์€ ๋ฐฐ์—ด์„ ๋ณ€ํ™˜ํ•˜์—ฌ ์ˆ˜์ •๋œ ์š”์†Œ๊ฐ€ ํฌํ•จ๋œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. `Filter`๋Š” ์กฐ๊ฑด์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์š”์†Œ๋ฅผ ์„ ํƒํ•˜์—ฌ ๋ถ€๋ถ„ ์ง‘ํ•ฉ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. `Reduce`๋Š” ๋ˆ„์‚ฐ๊ธฐ ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๋ฐฐ์—ด์„ ๋‹จ์ผ ๊ฐ’์œผ๋กœ ์ถ•์•ฝํ•ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ์ด๋Ÿฌํ•œ ๋ฉ”์„œ๋“œ ๊ฐ„์˜ ํ•ต์‹ฌ์ ์ธ ์ฐจ์ด์ ๊ณผ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•˜๋Š”์ง€ ํ‰๊ฐ€๋ฐ›์Šต๋‹ˆ๋‹ค. ๋ฉด์ ‘๊ด€์€ ๋˜ํ•œ `filter`๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ falsy ๊ฐ’์„ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ `reduce`์˜ ์ฝœ๋ฐฑ ํ•จ์ˆ˜์˜ ๊ตฌ์กฐ์— ๋Œ€ํ•ด ์งˆ๋ฌธํ•ฉ๋‹ˆ๋‹ค. `Map`๊ณผ `filter`๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ๋ฐ์ดํ„ฐ ๋ณ€ํ™˜์— ๋Œ€ํ•œ ๊นŠ์€ ์ดํ•ด๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์งˆ๋ฌธ๋„ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. `Map`/`filter`/`reduce`๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ค‘๊ฐ„ ๋ฐฐ์—ด ์ƒ์„ฑ์„ ํ”ผํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฉ”์„œ๋“œ๋Š” ์ˆœ์ˆ˜ ํ•จ์ˆ˜๋ฅผ ์žฅ๋ คํ•จ์œผ๋กœ์จ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค.
favicon
dev.to
๐Ÿ”ฅ JavaScript Interview Series(10): Functional Programming โ€” map, reduce, filter Explained
Create attached notes ...