04. forEach

์–‘ํฌ์ค€ยท2021๋…„ 10์›” 31์ผ
0

JS Array Method

๋ชฉ๋ก ๋ณด๊ธฐ
4/7
post-thumbnail

๐Ÿ“Œ 4-1 forEach๋ž€?

โœ” ๋ฐฐ์—ด.forEach(์ฝœ๋ฐฑํ•จ์ˆ˜(๋ฐฐ์—ด์˜ ๊ฐ’, ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค, ๋ฐฐ์—ด), thisArg)
โœ” ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ์˜ ๋Œ€ํ•ด์„œ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ํ•œ๋ฒˆ ์”ฉ ์‹คํ–‰๋œ๋‹ค.
โœ” ๋ฐฐ์—ด์˜ ๋ฉ”์„œ๋“œ map๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ map์˜ ๊ฒฐ๊ณผ๋Š” ์ƒˆ๋กœ์šด ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜์ง€๋งŒ forEach๋Š” ๊ฒฐ๊ณผ๊ฐ’์€ ํ•ญ์ƒ undefined์ด๋‹ค.

๐Ÿ“Œ 4-2 forEach์˜ ์ž‘๋™์˜ˆ์ œ

forEach๋ฉ”์„œ๋“œ๋Š” ๋ฐฐ์—ด์˜ ๋ชจ๋“  ๊ฐ’๋“ค์„ ์ˆœํšŒํ•˜๋ฉฐ ๋ช…๋ น๋ฌธ์„ ์‹คํ–‰ํ•œ๋‹ค.

const arr = [1,2,3,4,5];
arr.forEach((value, index, array) => console.log(value, index, array));
// 1๋ฒˆ์‹คํ–‰ 1 0 [ 1, 2, 3, 4, 5 ]
// 2๋ฒˆ์‹คํ–‰ 2 1 [ 1, 2, 3, 4, 5 ]
// 3๋ฒˆ์‹คํ–‰ 3 2 [ 1, 2, 3, 4, 5 ]
// 4๋ฒˆ์‹คํ–‰ 4 3 [ 1, 2, 3, 4, 5 ]
// 5๋ฒˆ์‹คํ–‰ 5 4 [ 1, 2, 3, 4, 5 ]

๐Ÿ’ก ์ž‘๋™๋ฐฉ์‹์€ map๋ฉ”์„œ๋“œ์™€ ๊ฐ™์ง€๋งŒ map๋ฉ”์„œ๋“œ์˜ ๊ฒฐ๊ณผ ๊ฐ’์€ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด ๋ฐ˜ํ™˜ํ•˜์ง€๋งŒ forEach๋ฌธ์€ ์‹คํ–‰๋งŒ ํ•˜๊ฒŒ๋œ๋‹ค.

const arr = [1,2,3,4,5];
const forEach = arr.forEach((value, index, array) => {
    return value;
});
console.log(forEach); // undefined ์ถœ๋ ฅ

๐Ÿ“Œ 4-3 forEach์˜ ์‚ฌ์šฉ์˜ˆ์ œ

map๋ฉ”์„œ๋“œ๋Š” ์›๋ณธ๋ฐฐ์—ด์„ ํ›ผ์†ํ•˜์ง€์•Š๊ณ  ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•˜์˜€๋‹ค๋ฉด forEach๋Š” ์›๋ณธ๋ฐฐ์—ด์„ ์ˆ˜์ •ํ•  ๋•Œ ์šฉ์ดํ•˜๊ฒŒ ์‚ฌ์šฉ๋œ๋‹ค.

let arr = [1,2,3,4,5];
const map = arr.map((value) => 2 * value);
console.log(arr); // [ 1, 2, 3, 4, 5 ] ์ถœ๋ ฅ
console.log(map); // [ 2, 4, 6, 8, 10 ] ์ถœ๋ ฅ
arr.forEach((value, index) => arr[index] = 2 * value);
console.log(arr); // [ 2, 4, 6, 8, 10 ] ์ถœ๋ ฅ

๐Ÿ’ก ์ด์ฒ˜๋Ÿผ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•ด์•ผ ํ• ๊ฒฝ์šฐ์—๋Š” map๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ํ•ด๋‹น ๋ฐฐ์—ด์—์„œ ์ˆœ์ฐจ์ ์œผ๋กœ ์š”์†Œ๋“ค์„ ๋ฐฉ๋ฌธํ•ด์„œ ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜ ์›๋ณธ๋ฐฐ์—ด์„ ์ˆ˜์ •ํ•  ๊ฒฝ์šฐ์—๋Š” forEach๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

๐Ÿ“Œ for in, for of ๋ฐ˜๋ณต๋ฌธ์ด๋ž€?

Js์—์„œ๋Š” ์š”์†Œ๋ณ„๋กœ ์ ‘๊ทผํ•ด์„œ ๋ฐ˜๋ณตํ•˜๋Š”๋ฌธ์ด ํฌ๊ฒŒ 3๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. for in, for of, forEach๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ for in, for of ๋ฌธ์— ๋Œ€ํ•˜์—ฌ ์•Œ์•„๋ณด์ž

const arr = [1,1,1,1,1];
for(let index in arr) {
    console.log(index); // 0, 1, 2, 3, 4 ์ถœ๋ ฅ
}
for(let value of arr) {
    console.log(value); // 1, 1, 1, 1, 1 ์ถœ๋ ฅ
}

๐Ÿ’ก ์ด์ฒ˜๋Ÿผ for in๋ฌธ์€ ๋ฐฐ์—ด์ด๋‚˜ ๋ฌธ์ž์—ด์˜ index๋ฒˆํ˜ธ๊ธฐ์ค€์œผ๋กœ ์ˆœํšŒํ•˜๊ณ  for of๋ฌธ์€ ๋ฐฐ์—ด์ด๋‚˜ ๋ฌธ์ž์—ด ์š”์†Œ๋“ค์„ ๊ธฐ์ค€์œผ๋กœ ์ˆœํšŒํ•œ๋‹ค.

profile
JS ์ฝ”๋ฆฐ์ด

0๊ฐœ์˜ ๋Œ“๊ธ€