๐คทโ๏ธ ๋ณธ๋ก ์ ์์
์๋ฐ์คํฌ๋ฆฝํธ๋ ํ์ฌ ์น/์ฑ ๊ฐ๋ฐ ํธ๋ ๋์์ ํ์์ ์ผ๋ก ์ฌ์ฉ๋๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋๋ค.
์ฌ๋ฌ ์์ดํ ์ ์ ์ฅํ๋๋ฐ ์ฌ์ฉ๋๋ ๋ฐฐ์ด๊ณผ ์ด๋ฅผ ํ์ฑํ๋ฉฐ ์๋ก์ด ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๊ณ ์กฐ์ํ๋๋ฐ ํ์ํ ์๋ฐ์คํฌ๋ฆฝํธ ๋ด์ฅํจ์์ธ map(), forEach()๋ผ๋ ๋ ๊ฐ์ง ์ธ๊ธฐ ์๋ ๋ฐฐ์ด ๋ฉ์๋์ ๋ํด ์๊ณ ๊ณ์ค ๊ฒ๋๋ค.
์ด ๋ ๋ฐฐ์ด ๋ฉ์๋๋ ๋ฐฐ์ด์ ๋ฃจํ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ธฐ๋ฅ์ด ๋น์ทํ์ง๋ง ์ค์ํ ์ฐจ์ด์ ์ด ์์ต๋๋ค.
์ด ์ฐจ์ด์ ์ ๊ณต๋ถํ์ฌ ๋ฐฐ์ด ๋ฉ์๋๋ฅผ ๋ ํจ์จ์ ์ผ๋ก ํ์ฉํ ์ ์๋๋ก ์์๋ณด๊ฒ ์ต๋๋ค.
๐คทโ๏ธ ๋ฐฐ์ด(array)์ด๋?
๋ฐฐ์ด์ ์ฌ๋ฌ ๊ฐ์ ์์ดํ ์ ์์๋๋ก ์ ์ฅ, ์ถ๊ฐ, ์ญ์ ํ ์ ์๋ ์๋ฃ๊ตฌ์กฐ์ ๋๋ค.
๋ฐฐ์ด์ ๊ฐ ์์์ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ์ฌ ์์ดํ ์ ์ ๊ทผํ ์ ์์ต๋๋ค.
๋ฐฐ์ด์ ๋ํด ์์ธํ ์ดํดํ๋ฉด
๐ก ์๋ฐ์คํฌ๋ฆฝํธ์์ ๋ฐฐ์ด(array)์ ์ด๋ฆ๊ณผ ์ธ๋ฑ์ค๋ก ์ฐธ์กฐ๋๋ ์ ๋ ฌ๋ ๊ฐ์ ์งํฉ์ผ๋ก ์ ์๋ฉ๋๋ค.
๋ฐฐ์ด์ ๊ตฌ์ฑํ๋ ๊ฐ ๊ฐ์ ๋ฐฐ์ด ์์(element)๋ผ๊ณ ํ๋ฉฐ, ๋ฐฐ์ด์์์ ์์น๋ฅผ ๋ํ๋ด๋ ์ซ์๋ฅผ ์ธ๋ฑ์ค(index)๋ผ๊ณ ํฉ๋๋ค.
1. Javascript ๋ฐฐ์ด์ map()์ด๋ ๋ฌด์์ธ๊ฐ?
map() ๋ฉ์๋๋ ๋ฐฐ์ด์ ๊ฐ ํญ๋ชฉ์ ๋ํด ์ฝ๋ฐฑ ํจ์๋ฅผ ํธ์ถํ๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ก ์๋ก์ด ๊ฐ์ ๋ฐํํฉ๋๋ค.
์ด ์๋ก์ด ๊ฐ๋ค์ map() ๋ฉ์๋์ ์ํด ์ ๋ฐฐ์ด๋ก ์ ์ฅ๋ฉ๋๋ค.
์ค์ํ ๊ฒ์ map() ๋ฉ์๋๋ ์ ๋ฐฐ์ด์ ๋ฐํํ๋ฉฐ, ๊ธฐ์กด ๋ฐฐ์ด์ ๋ณ๊ฒฝํ์ง ์๋๋ค๋ ์ ์ ๋๋ค.
javascript map() ํจ์ ์์๋ณด์!
https://cometruedream.tistory.com/7
2. Javascript ๋ฐฐ์ด์ forEach()์ด๋ ๋ฌด์์ธ๊ฐ?
forEach() ๋ฉ์๋๋ ๋ฐฐ์ด์ ๊ฐ ํญ๋ชฉ์ ๋ํด ์ฝ๋ฐฑ ํจ์๋ฅผ ํธ์ถํฉ๋๋ค.
์ด ์ฝ๋ฐฑ ํจ์๋ ๋ฐฐ์ด์ ๊ฐ ์์์ ํจ๊ป ํธ์ถ๋์ด ๋ฐฐ์ด์ ์ํํ๊ณ ๊ฐ ์์์ ๋ํ ์์ ์ ์ํํฉ๋๋ค.
์ค์ํ ๊ฒ์ forEach() ๋ฉ์๋๋ ์ ๋ฐฐ์ด์ ๋ฐํํ์ง ์๊ณ ๊ธฐ์กด ๋ฐฐ์ด์ ์์๋ฅผ ๋ฐํํ๋ค๋ ์ ์ ๋๋ค.
javascript forEach() ํจ์ ์์๋ณด์!
https://cometruedream.tistory.com/3
map()๊ณผ forEach()์ ์ฐจ์ด์ ์ ๋ฌด์์ธ๊ฐ?
forEach()์ map()์ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ ๋ฐํ ๊ฐ์ ๋ค๋ฃน๋๋ค.
์ด๋ฏธ ์ธ๊ธํ๋ฏ์ด map()์ ๊ธฐ์กด ๋ฐฐ์ด์ ๋ฐํํ์ง ์๊ณ ์ ๋ฐฐ์ด์ ๋ฐํํฉ๋๋ค.
๋ฐ๋ฉด์ forEach()๋ ์ ๋ฐฐ์ด์ ๋ฐํํ์ง ์๊ณ ๊ธฐ์กด ๋ฐฐ์ด์ ๋ฐํํฉ๋๋ค.
๐คทโ๏ธ map()๊ณผ forEach() ๋น๊ต ์์
์ด๊ฒ์ map()๊ณผ forEach() ๋ฉ์๋๋ฅผ ๋น๊ตํ๋ ์์ ์ ๋๋ค.
// ๋ฐฐ์ด ์ ์ธ
const numbers = [1, 2, 3, 4, 5];
// map() ๋ฉ์๋ ์ฌ์ฉ ์์
const doubledNumbers = numbers.map((num) => {
return num * 2;
});
// forEach() ๋ฉ์๋ ์ฌ์ฉ ์์
numbers.forEach((num) => {
console.log(num * 2);
});
console.log(doubledNumbers);
์ ์์ ์์ map() ๋ฉ์๋๋ ๋ฐฐ์ด์ ๊ฐ ์์์ 2๋ฅผ ๊ณฑํ์ฌ ์ ๋ฐฐ์ด์ ๋ฐํํฉ๋๋ค.
๋ฐ๋ฉด์, forEach() ๋ฉ์๋๋ ๋ฐฐ์ด์ ๊ฐ ์์์ 2๋ฅผ ๊ณฑํ๊ณ console.log()๋ก ์ถ๋ ฅํฉ๋๋ค.
์ฆ, map() ๋ฉ์๋๋ ์๋ก์ด ๋ฐฐ์ด์ ์์ฑํ๋ ๋ฐ ์ฌ์ฉ๋๋ฏ๋ก, doubledNumbers ์์์ ์๋ก์ด ๋ฐฐ์ด์ ๋ฐํ๊ฐ์ ์ ์ฅํ ์ ์์ต๋๋ค.
๋ฐ๋ฉด์, forEach() ๋ฉ์๋๋ ๋ฐฐ์ด์ ๊ฐ ์์์ ๋ํด ์์ ์ ์ํํ๋ฉด์ ์๋ ๋ฐฐ์ด์ ์์ ํ๋ฉฐ, ์๋ก์ด ๋ฐฐ์ด์ ๋ฐํํ์ง ์์ต๋๋ค.
๋ฐ๋ผ์ doubledNumbers ์์์ ๋ฐํ๊ฐ์ ์ ์ฅํ ์ ์์ต๋๋ค.
๐คทโ๏ธ map()๊ณผ forEach()์ ํ์ฉ๋ฒ
map() ๋ฉ์๋ ํ์ฉ๋ฒ
const numbers = [1, 2, 3, 4, 5];
const squaredNumbers = numbers.map((num) => {
return num * num;
});
console.log(squaredNumbers); // [1, 4, 9, 16, 25]
forEach() ๋ฉ์๋ ํ์ฉ๋ฒ
const numbers = [1, 2, 3, 4, 5];
let sum = 0;
numbers.forEach((num) => {
sum += num;
});
console.log(sum); // 15
์ ๋ ์์ ๋ฅผ ํตํด map()๊ณผ forEach() ๋ฉ์๋์ ์ฐจ์ด์ ์ฌ์ฉ๋ฒ์ ๋ ์ ์ดํดํ ์ ์์ต๋๋ค.
์ฌ๋ฐ๋ ์ค๋์ ๋ ๋ณ ์ด์ธ ๋ณด๊ณ ๊ฐ์ธ์!
https://cometruedream.tistory.com/247
https://cometruedream.tistory.com/243
https://cometruedream.tistory.com/242
https://cometruedream.tistory.com/241
https://cometruedream.tistory.com/244