# ๋ฐ˜๋ณต๋ฌธ(Loop)

๋ฐ˜๋ณต๋ฌธ์€ ํŠน์ • ๋กœ์ง์„ ๋ฐ˜๋ณตํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฌธ๋ฒ•์ž…๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ๊ฐ€์žฅ ํ”ํ•˜๊ฒŒ ํ™œ์šฉ๋˜๋Š” ๋ฌธ๋ฒ•์ž…๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ์ „ํ˜•์ ์ธ for ๋ฐ˜๋ณต๋ฌธ์„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์ฝ”๋“œ๋กœ ํ‘œํ˜„ํ•ด๋ดค์Šต๋‹ˆ๋‹ค.

for (var i = 0; i < 10; i++) {
  console.log(i); // 0๋ถ€ํ„ฐ 9๊นŒ์ง€ ์ถœ๋ ฅ
}

์•ž์—์„œ ์‚ดํŽด๋ณธ for ๋ฐ˜๋ณต๋ฌธ์˜ ๊ธฐ๋ณธ ๋ฌธ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

for (๋ฐ˜๋ณตํ•  ๋ณ€์ˆ˜ ์ดˆ๊ธฐํ™”, ๋ฐ˜๋ณต ์กฐ๊ฑด, ๋ฐ˜๋ณตํ•  ๋ณ€์ˆ˜์˜ ์ฆ๊ฐ์‹) {
  // ๋ฐ˜๋ณตํ•  ์—ฐ์‚ฐ
}

# ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ฐ˜๋ณต๋ฌธ

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—๋„ ์œ„์™€ ๊ฐ™์€ ๋ฐ˜๋ณต๋ฌธ์„ ๋งŽ์ด ์‚ฌ์šฉํ• ๊นŒ์š”? ์ •๋‹ต์€ No์ž…๋‹ˆ๋‹ค. ์ตœ์ ์˜ ์„ฑ๋Šฅ ํŠœ๋‹์„ ์œ„ํ•ด์„œ ๊ณ ์˜๋กœ ์ผ๋ฐ˜ for๋ฌธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐ˜๋ณต๋ฌธ์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • forEach ๋ฐ˜๋ณต๋ฌธ
  • for in ๋ฐ˜๋ณต๋ฌธ
  • for of ๋ฐ˜๋ณต๋ฌธ

๊ทธ๋Ÿผ ์œ„์˜ ๋ฌธ๋ฒ•๋“ค์„ ํ•˜๋‚˜์”ฉ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

# forEach()

forEach ๋ฐ˜๋ณต๋ฌธ์€ ๋ฐฐ์—ด์— ์‚ฌ์šฉํ•˜๊ธฐ ์ข‹์€ ๋ฐ˜๋ณต๋ฌธ์ž…๋‹ˆ๋‹ค. ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

var arr = [10, 20, 30];
arr.forEach(function(value, index) {
  console.log('array index: ' + index + ' value : ' + value);
});

์œ„ ์ฝ”๋“œ์˜ ๊ฒฐ๊ณผ๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

array index: 0 value : 10
array index: 1 value : 20
array index: 2 value : 30

# for in

for in ๋ฐ˜๋ณต๋ฌธ์€ ๋ฐฐ์—ด๊ณผ ๊ฐ์ฒด์— ๋ชจ๋‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ˜๋ณต๋ฌธ์ž…๋‹ˆ๋‹ค. ๋ทฐ์˜ v-for ๋””๋ ‰ํ‹ฐ๋ธŒ์˜ ๋ชจํ‹ฐ๋ธŒ๊ฐ€ ๋˜๋Š” ๋ฌธ๋ฒ•์ž…๋‹ˆ๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์€ ์ฝ”๋“œ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•ฉ์‹œ๋‹ค.

var arr = [10, 20, 30];
var obj = {
  num: 10,
  str: 'hi',
  arr: [],
};

์œ„ ๋ฐฐ์—ด๊ณผ ๊ฐ์ฒด๋ฅผ for in ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ์ˆœํšŒํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

// ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๋ฅผ 1๊ฐœ์”ฉ ์ ‘๊ทผํ•˜์—ฌ ์ˆœ์ฐจ์ ์œผ๋กœ ์ˆœํšŒํ•˜๋Š” ๊ฒฝ์šฐ
for (var key in arr) {
  console.log(arr[key]);
}

// ๊ฐ์ฒด์˜ ํ‚ค๋ฅผ 1๊ฐœ์”ฉ ์ ‘๊ทผํ•˜์—ฌ ์ˆœ์ฐจ์ ์œผ๋กœ ์ˆœํšŒํ•˜๋Š” ๊ฒฝ์šฐ
for (var key in obj) {
  console.log(obj[key]);
}

๊ฐ ์ฝ”๋“œ์˜ ๊ฒฐ๊ณผ๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

// ๋ฐฐ์—ด ๋ฐ˜๋ณต๋ฌธ์˜ ์ฝ˜์†”
10
20
30

// ๊ฐ์ฒด ๋ฐ˜๋ณต๋ฌธ์˜ ์ฝ˜์†”
10
hi
[]