javascript๐ฉโ๐ป์ map(), filter(), reduce()
5320 ๋จ์ด beginnerstutorialjavascriptwebdev
map(), filter & reduce()
๋ ๊ณ ์ฐจ ํจ์, ์ฆ ๋ด๋ถ์ ๋ค๋ฅธ ํจ์๊ฐ ์๋ ํจ์์
๋๋ค.1. ์ง๋()
๋งต ํจ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ ์์์ ๋ํด ์ฃผ์ด์ง ์์ ์ ๋ฐ๋ณตํ๊ณ ์ ์ฉํฉ๋๋ค.
arr=[1,2,4,3,5,6]
function checkEven(x){
return x%2==0;
}
const ans=arr.map(checkEven)
console.log(ans)
์ฌ๊ธฐ์๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์์๊ฐ ์ง์์ธ์ง ์ฌ๋ถ๋ฅผ ๋ฐํํ๊ณ ์กด์ฌํ๋ ๊ฐ ์์์ ๊ฐ์ ์์ ํฉ๋๋ค.
2. ํํฐ()
์ด ํจ์๋ ๋ฐฐ์ด์ ์ฌ์ฉํ์ฌ ๊ฐ ์์์ ์กฐ๊ฑด์ ํ์ธํ๊ณ ์๋ชป๋ ๊ฐ์ ํํฐ๋งํฉ๋๋ค.
arr=[1,2,4,3,5,6]
const ans=arr.filter(function checkEven(x){
return x%2==0;
})
console.log(ans)
์ฌ๊ธฐ์ ๋ชจ๋ ๊ฑฐ์ง ๊ฐ์ด ์ ๊ฑฐ๋ฉ๋๋ค. ์ด๋ฌํ ํจ์๋ ๊ธฐ๋ณธ ์ด๋ ์ด
arr
์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฐ์ํ์ง ์์ต๋๋ค.3. ๊ฐ์()
์ ์ฒด ๋ฐฐ์ด์ ๋ํ ์์ ์ ์ถ๋ ฅ์ ๋จ์ผ ๋ต๋ณ์ผ๋ก ์์ฝํฉ๋๋ค.
๋ชจ๋ ๋จ๊ณ์์ ans๋ฅผ ์ถ์ ํ๋
accumulator
๋ฐ current
์์๊ฐ ํ์ํฉ๋๋ค. ์ฌ๊ธฐ์ ans
๋ ๋์ฐ๊ธฐ์ด๊ณ x
๋ ๋ฐฐ์ด์ ํ์ฌ ์์์
๋๋ค.},0)
๋ถ๋ถ์์ ์ด 0์ ๋์ฐ๊ธฐans
์ ์ด๊ธฐ ๊ฐ์
๋๋ค.arr=[2,4,6,6,8,9,22]
const ans=arr.reduce(function checkMax(ans, x){
ans=ans>x?ans:x
return ans;
},0)
console.log(ans)
์ฌ๊ธฐ์ ์ฐ๋ฆฌ๋ ์ต๋ ์์๋ฅผ ์ถ์ ํ๊ณ ํ์ฌ์ ๋น๊ตํ์ฌ ์ต๋๋ณด๋ค ํฌ๋ฉด ์ ๋ฐ์ดํธํฉ๋๋ค.
You can even pass arrow functions inside these functions. โญ MDN -Arrow functions
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(javascript๐ฉโ๐ป์ map(), filter(), reduce()), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://dev.to/aishanipach/map-filter-reduce-in-javascript-3i4jํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค