๐Ÿ”ฌComputer Science/์ฝ”๋”ฉํ…Œ์ŠคํŠธ

forEach, map, filter, reduce ๋ฉ”์„œ๋“œ ์ž‘๋™์›๋ฆฌ ์ •๋ฆฌ

hellohailie 2022. 7. 27. 10:07

forEach, map, filter, reduce ๋Š” ๋ชจ๋‘ ํ•จ์ˆ˜๋ฅผ ์ธ์ž๋กœ ๋ฐ›๋Š” ๊ณ ์ฐจํ•จ์ˆ˜์ด๋‹ค. 

 

forEach

 

์ธ์ž๋กœ ํ•จ์ˆ˜, ๋ฐฐ์—ด์ด ๋“ค์–ด๊ฐ„๋‹ค. (๋ฐฐ์—ด์€ ์ƒ๋žต๊ฐ€๋Šฅํ•˜๋‹ค!)

๋ฐฐ์—ด์•ˆ์˜ ๊ฐ’, ์ธ๋ฑ์Šค ๋„˜๋ฒ„, ๋ฐฐ์—ด์ด ์ฐจ๋ก€๋Œ€๋กœ ์ถœ๋ ฅ๋œ๋‹ค. (์ฐ์œผ๋ฉด)

const a = [10,11,12,13,14,15];

a.forEach(function(v,i){
  console.log(v,i,this);
},[1,2])

// ์ถœ๋ ฅ๊ฐ’
10 0 [ 1, 2 ]
11 1 [ 1, 2 ]
12 2 [ 1, 2 ]
13 3 [ 1, 2 ]
14 4 [ 1, 2 ]
15 5 [ 1, 2 ]

map

์ƒˆ๋กœ์šด ๋ฐฐ์—ด์ด ๋‚˜์˜จ๋‹ค. 

 

const a = [10,11,12,13,14,15];

let answer = a.map((v,i) => {
  return v * v;
},[1,2])

console.log(answer)

// ์ถœ๋ ฅ๊ฐ’
[ 100, 121, 144, 169, 196, 225 ]

 

map ์ด ์ƒ์„ฑํ•˜๋Š” ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์€ ์›๋ณธ ๋ฐฐ์—ด์˜ ๊ธธ์ด์™€ ๋ฌด์กฐ๊ฑด ๊ฐ™๋‹ค!!

 

const a = [10,11,12,13,14,15];

let answer = a.map((v,i) => {
  if(v % 2 === 0) return v
},[1,2])

console.log(answer)

//์ถœ๋ ฅ๊ฐ’
[ 10, undefined, 12, undefined, 14, undefined ]

 


filter

์ƒˆ๋กœ์šด ๋ฐฐ์—ด์ด ๋‚˜์˜จ๋‹ค. 

์ •ํ™•ํ•˜๊ฒŒ ์›ํ•˜๋Š” ์›์†Œ๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์—ด์ด ๋‚˜์˜จ๋‹ค. 

const a = [10,11,12,13,14,15];

let answer = a.filter((v,i) => {
  if(v % 2 === 0) return v
},[1,2])

console.log(answer)

//์ถœ๋ ฅ๊ฐ’
[ 10, 12, 14 ]

 


reduce

์ธ์ž๋กœ ์ฝœ๋ฐฑํ•จ์ˆ˜์™€ ์ดˆ๊ธฐํ™” ํ•˜๋Š” ๊ฐ’์ด ๋“ค์–ด๊ฐ„๋‹ค. 

   

const a = [10,11,12,13,14,15];

let answer = a.reduce((acc,v) => {
  return acc + v
},0)

console.log(answer)

// ์ถœ๋ ฅ๊ฐ’
75

 

๐Ÿ˜ƒ ์ž˜๋ชป๋œ ๊ฐœ๋… ์ „๋‹ฌ์ด ์žˆ๋‹ค๋ฉด ๋Œ“๊ธ€ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค. ์ €์˜ ์„ฑ์žฅ์— ํฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค๐Ÿค“