Recent Posts
Recent Comments
Archives
๋ฐ˜์‘ํ˜•
250x250
ยซ   2024/05   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Today
Yesterday

Total
05-04 00:00
๊ด€๋ฆฌ ๋ฉ”๋‰ด

Hey Tech

[JavaScript] ๋ฐฐ์—ด ์›์†Œ์™€ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ํ™œ์šฉํ•˜๋Š” ํ•จ์ˆ˜(forEach, map ํ•จ์ˆ˜) ๋ณธ๋ฌธ

SW ๊ฐœ๋ฐœ/Vanilla JS

[JavaScript] ๋ฐฐ์—ด ์›์†Œ์™€ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ํ™œ์šฉํ•˜๋Š” ํ•จ์ˆ˜(forEach, map ํ•จ์ˆ˜)

Tony Park 2021. 12. 2. 20:04
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ’ก ๋ชฉํ‘œ

JavaScript์—์„œ forEach ํ•จ์ˆ˜์™€ map ํ•จ์ˆ˜์˜ ํ™œ์šฉ๋ฒ•์— ๋Œ€ํ•ด ํ•™์Šตํ•œ๋‹ค.

1.  forEach ํ•จ์ˆ˜

ํ•จ์ˆ˜ ์›ํ˜•(๊ธฐ๋ณธ)

๋ฐฐ์—ด.forEach(์ฝœ๋ฐฑํ•จ์ˆ˜(๊ฐ’, ์ธ๋ฑ์Šค, ๋ฐฐ์—ด ์ž์‹ ));

 

forEach ํ•จ์ˆ˜๋Š” ์ „๋‹ฌ์ธ์ž๊ฐ€ ๋ฐฐ์—ด ๋‚ด ์›์†Œ ๊ฐ’, ์ธ๋ฑ์Šค, ๋ฐฐ์—ด ์ž์‹ ์ธ ์ฝœ๋ฐฑํ•จ์ˆ˜๋ฅผ ๋ฐ›๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ฆ‰, forEach ํ•จ์ˆ˜๋Š” for ๋ฐ˜๋ณต๋ฌธ์ฒ˜๋Ÿผ ์ฒซ ๋ฒˆ์งธ ์›์†Œ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ์›์†Œ๊นŒ์ง€ ์ฐจ๋ก€๋Œ€๋กœ ๋ฐฐ์—ด์—์„œ ๊บผ๋‚ด ์ฝœ๋ฐฑํ•จ์ˆ˜์— ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. map ํ•จ์ˆ˜์™€ ๋‹ค๋ฅด๊ฒŒ ๋ฆฌํ„ด ๊ฐ’์ด ์—†๋‹ค๋Š” ํŠน์ง•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์ œ ์ฝ”๋“œ์™€ ํ•จ๊ป˜ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์˜ˆ์ œ1

let arr1 = [100, 200, 300];
arr1.forEach( (v, idx, arr) => {
    console.log(`${idx} ์ธ๋ฑ์Šค์˜ ๊ฐ’: ${v}`);
    console.log(`๋ฐฐ์—ด ์ž์‹ : ${arr}`);
    console.log('------------');
});

์‹คํ–‰ ๊ฒฐ๊ณผ1

0 ์ธ๋ฑ์Šค์˜ ๊ฐ’: 100
๋ฐฐ์—ด ์ž์‹ : 100,200,300
------------
1 ์ธ๋ฑ์Šค์˜ ๊ฐ’: 200
๋ฐฐ์—ด ์ž์‹ : 100,200,300
------------
2 ์ธ๋ฑ์Šค์˜ ๊ฐ’: 300
๋ฐฐ์—ด ์ž์‹ : 100,200,300
------------

0๋ฒˆ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค๊นŒ์ง€ ํ•˜๋‚˜์˜ ์›์†Œ์”ฉ ์ „๋‹ฌ๋ฐ›์•„ ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋กœ์ง์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ์ œ2

let arr1 = [100, 200, 300];
arr1.forEach( (element) => {
    console.log(`๊ฐ’: ${element}`);
    console.log('------------');
});

์›์†Œ๋งŒ ์ „๋‹ฌ์ธ์ž๋กœ ๋ฐ›์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹คํ–‰ ๊ฒฐ๊ณผ2

100
200
300

2.  map ํ•จ์ˆ˜

ํ•จ์ˆ˜ ์›ํ˜•

๋ฐฐ์—ด.map(์ฝœ๋ฐฑํ•จ์ˆ˜(๊ฐ’, ์ธ๋ฑ์Šค, ๋ฐฐ์—ด ์ž์‹ ));

 

map ํ•จ์ˆ˜๋Š” ์ „๋‹ฌ์ธ์ž๊ฐ€ ๋ฐฐ์—ด ๋‚ด ์›์†Œ ๊ฐ’, ์ธ๋ฑ์Šค, ๋ฐฐ์—ด ์ž์‹ ์ธ ์ฝœ๋ฐฑํ•จ์ˆ˜๋ฅผ ๋ฐ›๋Š” ํ•จ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ฆ‰, map ํ•จ์ˆ˜๋Š” for ๋ฐ˜๋ณต๋ฌธ์ฒ˜๋Ÿผ ์ฒซ ๋ฒˆ์งธ ์›์†Œ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ์›์†Œ๊นŒ์ง€ ์ฐจ๋ก€๋Œ€๋กœ ๋ฐฐ์—ด์—์„œ ๊บผ๋‚ด ์ฝœ๋ฐฑํ•จ์ˆ˜์— ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค. map ํ•จ์ˆ˜๋Š” ๋ฐ˜ํ™˜ ๊ฐ’์ด ์žˆ๋‹ค๋Š” ์ ์ด forEach ํ•จ์ˆ˜์™€์˜ ์ฐจ์ด์ ์ž…๋‹ˆ๋‹ค.

์˜ˆ์ œ1

let arr2 = [10, 20, 30];
let arr3 = arr2.map( (value, index) => value*index;);
console.log(arr3);

 

๋ฐฐ์—ด์˜ ๊ฐ ์›์†Œ ๊ฐ’๊ณผ ์ธ๋ฑ์Šค๋ฅผ ๊ณฑํ•œ ๊ฒฐ๊ด๊ฐ’์„ ๋ฆฌํ„ดํ•˜๋Š” ๊ตฌ๋ฌธ์ž…๋‹ˆ๋‹ค.

์‹คํ–‰ ๊ฒฐ๊ณผ1

[ 0, 20, 60 ]

์˜ˆ์ œ2

let arr4 = [2, 3, 4];
let arr5 = arr4.map( number => number**2;);
console.log(arr5);

์‹คํ–‰ ๊ฒฐ๊ณผ2

[ 4, 6, 9 ]

 

ํฌ์ŠคํŒ… ๋‚ด์šฉ์— ์˜ค๋ฅ˜๊ฐ€ ์žˆ๋‹ค๋ฉด ์•„๋ž˜์— ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š”!

๊ทธ๋Ÿผ ์˜ค๋Š˜๋„ ์ฆ๊ฒ๊ณ  ํ–‰๋ณตํ•œ ํ•˜๋ฃจ ๋ณด๋‚ด์‹œ๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค.

๊ณ ๋ง™์Šต๋‹ˆ๋‹ค :)

 

 

728x90
๋ฐ˜์‘ํ˜•
Comments