TIL_21_with Wecode 011 JavaScript about for๋ฌธ

JIEUNยท2021๋…„ 2์›” 21์ผ
0
post-thumbnail

๐Ÿ˜ป for ๋ฌธ์˜ ํ™œ์šฉ

let cities = ["์„œ์šธ", "๋Œ€์ „", "๋Œ€๊ตฌ", "๋ถ€์‚ฐ", "๊ด‘์ฃผ", "์ œ์ฃผ๋„"];
let home = "์„œ์šธ";
if (cities[0] === home) {
  alert("์•„, ์—ฌ๊ธฐ ์‚ฌ์‹œ๋Š”๊ตฐ์š”");
} else if (cities[1] === home) {
  alert("์•„, ์—ฌ๊ธฐ ์‚ฌ์‹œ๋Š”๊ตฐ์š”");
} else if (cities[2] === home) {
  alert("์•„, ์—ฌ๊ธฐ ์‚ฌ์‹œ๋Š”๊ตฐ์š”");
} else if (cities[3] === home) {
  alert("์•„, ์—ฌ๊ธฐ ์‚ฌ์‹œ๋Š”๊ตฐ์š”");
} 

๋ณ€์ˆ˜ cities ๋ฐฐ์—ด ์•ˆ์— ์žˆ๋Š” ์ง€์—ญ๋“ค์„ ํ•˜๋‚˜ํ•˜๋‚˜ ์ง€์ •์„ ํ•ด์ค˜์•ผ ํ•˜๋Š” ๋ถˆํŽธํ•จ์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.
์šฐ๋ฆฌ๊ฐ€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๋ฐฐ์šฐ๋Š” ๊ฐ€์žฅ ํฐ ์ด์œ ๋Š” ๋‹จ์ˆœ ๋ฐ˜๋ณต์„ ์ค„์ด๊ธฐ ์œ„ํ•ด์„œ๊ฐ€ ์•„๋‹๊นŒ์š”? ์ด๋ ‡๊ฒŒ ๋น„ํšจ์œจ์ ์ธ ์ฝ”๋“œ๋ฅผ for ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ฉด ์งง๊ฒŒ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

let cities = ["์„œ์šธ", "๋Œ€์ „", "๋Œ€๊ตฌ", "๋ถ€์‚ฐ", "๊ด‘์ฃผ", "์ œ์ฃผ๋„"];
let home = "๋Œ€์ „";
for (let i = 0; i <= 50; i++) {
if (cities[i] === home) {
  alert("์•„," + cities[i] + " ์‚ฌ์‹œ๋Š” ๊ตฐ์š”");
 }
} //๊ฒฐ๊ณผ: ์•„, ๋Œ€์ „ ์‚ฌ์‹œ๋Š”๊ตฐ์š”
  • ๋ณ€์ˆ˜ cities ๋ฐฐ์—ด ์•ˆ์— ์žˆ๋Š” ์ง€์—ญ์„ ๋ณ€์ˆ˜ home์—์„œ ์ง€์ •๋งŒ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.
  • ๋ฐฐ์—ด์ด 100๊ฐœ๊ฐ€ ๋˜๋“ , 1000๊ฐœ๊ฐ€ ๋˜๋“ , 'i <= 50'์—์„œ ์ง€์ •๋งŒ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

์˜ˆ์‹œ ํ•˜๋‚˜ ๋”

  • for๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ฝ”๋“œ๋ฅผ ์›ํ•˜๋Š” ๋งŒํผ ๋ฐ˜๋ณต์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์‹คํ–‰ ์กฐ๊ฑด์— ๋”ฐ๋ผ ์–ธ์ œ๋ถ€ํ„ฐ ์–ธ์ œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜๊ฒŒ ๋  ๊ฒƒ์ด๋ผ๊ณ  ์•Œ๋ ค์ฃผ๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
let count = 1;
for (let i = 0; i <= 5; i++) {    
  count = count + 1;
}

๐Ÿ‘€ ํ˜•ํƒœ๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

    for (๋ฐ˜๋ณต์กฐ๊ฑด) {
       //๋ฐ˜๋ณต์กฐ๊ฑด์ด ๋งž์œผ๋ฉด ์‹คํ–‰ํ•  ์ฝ”๋“œ
    }

๐Ÿ‘€ ๋ฐ˜๋ณต์กฐ๊ฑด์„ ๋ง๋กœ ํ‘œํ˜„ํ•˜๋ฉด,

  • 0๋ถ€ํ„ฐ 5๊นŒ์ง€ 1์”ฉ ์ฆ๊ฐ€ ์‹œํ‚ค๋ฉด์„œ for ๋ฌธ์˜ {} ๋‚ด๋ถ€๋ฅผ ์‹คํ–‰ํ•˜๋ผ๋Š” ๋œป์ž…๋‹ˆ๋‹ค.

  • i๋Š” 1์”ฉ ์ฆ๊ฐ€ํ•˜๋ฉด์„œ 0, 1, 2, 3, 4, 5๊นŒ์ง€ ์ฆ๊ฐ€ํ•˜๊ณ , for๋ฌธ ๋‚ด๋ถ€์˜ ์ฝ”๋“œ ์ด 6๋ฒˆ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

  • i ๊ฐ€ 5๊ฐ€ ๋ ๋•Œ๊นŒ์ง€ for ๋ฌธ์˜ {} ์•ˆ์„ ์‹คํ–‰ํ•˜๋‹ค๊ฐ€, 6์ด ๋˜๋ฉด i <= 5๋ผ๋Š” ์‹์€ false ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. (6 > 5)
    - ๋”ฐ๋ผ์„œ {} ๋‚ด๋ถ€๋กœ ๋“ค์–ด๊ฐ€์ง€ ๋ชปํ•˜๊ณ , {} ๋ฐ–์œผ๋กœ ๋ฒ—์–ด๋‚ฉ๋‹ˆ๋‹ค.
    - ๊ทธ๋ ‡๋‹ค๋ฉด i ๊ฐ€ 0, 1, 2, 3, 4, 5 ์ผ ๋•Œ ์‹คํ–‰ํ•˜๊ฒŒ ๋˜๋‹ˆ for ๋ฌธ์ด ์ด 6๋ฒˆ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

  • ์กฐ๊ฑด์˜ ํ‘œํ˜„์€ ๋‹ค๋ฅธ๋ฐ ๊ฒฐ๊ณผ๋Š” ๋˜‘๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์งœ๋ณด์•˜์Šต๋‹ˆ๋‹ค.

    let count = 1;
    for (let i = 0; i < 6; i++) {    
      count = count + 1;
    }
  • for๋ฌธ์˜ ์ข…๋ฃŒ ์กฐ๊ฑด(๋ ๊ฐ’)์„ i <= 5์—์„œ i < 6 ์œผ๋กœ ๋ณ€๊ฒฝํ•˜์˜€์Šต๋‹ˆ๋‹ค.
    • ์ฝ”๋“œ์—์„œ <= ์™€ 5 ๋ฅผ ์ˆ˜์ •ํ•ด์„œ ์ง์ ‘ ํ™•์ธํ•ด๋ณด์„ธ์š”.
    • 6๋ณด๋‹ค ์ž‘์„๋•Œ๊นŒ์ง€ ์‹คํ–‰ํ•˜๊ณ  for๋ฌธ์ด ๋๋‚˜๊ธฐ ๋•Œ๋ฌธ์—,
    • i ๊ฐ€ 0, 1, 2, 3, 4, 5์ผ๋•Œ๋งŒ ์‹คํ–‰ํ•˜์—ฌ ๊ฒฐ๊ตญ for๋ฌธ์„ ๋ฐ˜๋ณตํ•˜๋Š” ํšŸ์ˆ˜๋Š” ๋˜‘๊ฐ™์Šต๋‹ˆ๋‹ค.


๐Ÿ˜ป ๋ฐ˜๋ณต๋ฌธ ๋‚ด๋ถ€์˜ ์กฐ๊ฑด๋ฌธ

const home = "๋Œ€์ „";
let cities = ["์„œ์šธ", "๋Œ€์ „", "๋Œ€๊ตฌ", "๋ถ€์‚ฐ", "๊ด‘์ฃผ", "์ œ์ฃผ๋„"];
for (let i = 0; i <= 5; i++) {
   if (cities[i] === home) {     
  console.log("์•„, "+ cities[i] +" ์‚ฌ์‹œ๋Š”๊ตฐ์š”");   
 }
}
  • i๊ฐ€ 0์ผ ๋•Œ๋Š” cities[0]๊ณผ home์„ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.
  • "์„œ์šธ" === "๋Œ€์ „"
  • ๊ฐ™์ง€ ์•Š์œผ๋ฏ€๋กœ if๋ฌธ {} ๋‚ด๋ถ€๋กœ ๋“ค์–ด๊ฐ€์ง€ ์•Š๊ณ  i๊ฐ€ 0์ผ๋•Œ์˜ for๋ฌธ์€ ๋๋‚ฉ๋‹ˆ๋‹ค.
  • ๊ทธ ๋‹ค์Œ์— i๊ฐ€ 1์ด ์ฆ๊ฐ€ํ•˜์—ฌ i๊ฐ€ 1์ด ๋˜๋ฉด, cities[1]๊ณผ home์„ ๋น„๊ตํ•˜๊ฒŒ ๋˜๊ณ ,
  • "๋Œ€์ „" === "๋Œ€์ „"
  • ์ฐธ์ด๋ฏ€๋กœ if๋ฌธ์ด ์‹คํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ด๋ ‡๊ฒŒ i๊ฐ€ 5๊ฐ€ ๋  ๋•Œ๊นŒ์ง€ if ์กฐ๊ฑด์„ ํ™•์ธํ•˜๋ฉฐ for๋ฌธ์ด ์‹คํ–‰๋˜๊ณ  ์ข…๋ฃŒ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋ฉด ๋ฐ˜๋ณต์ด ๋งˆ๋ฌด๋ฆฌ๋ฉ๋‹ˆ๋‹ค.
  • ๋งŒ์•ฝ ๋ฐฐ์—ด์ด ์•„๋ž˜์™€ ๊ฐ™์•˜๋‹ค๋ฉด console.log๊ฐ€ ์„ธ๋ฒˆ ๋–ด์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
var cities = ["์„œ์šธ", "๋Œ€์ „", "๋Œ€๊ตฌ", "๋Œ€์ „", "๊ด‘์ฃผ", "๋Œ€์ „"];
  • for๋ฌธ์—์„œ i๊ฐ€ 1, 3, 5์ผ ๋•Œ if๋ฌธ์ด ์‹คํ–‰๋˜๋Š” ๊ฒƒ์ด์ฃ .

๐Ÿ˜ป ๋ฐ˜๋ณต๋ฌธ์˜ ๋‹ค์–‘ํ•œ ํ™œ์šฉ

  • ๋” ๋‹ค์–‘ํ•œ ๋ฐ˜๋ณต์กฐ๊ฑด์„ ํ•œ ๋ฒˆ ๋ด…์‹œ๋‹ค.
  • ๋‹ค๋ฅธ ๊ฒƒ์€ ๋น„์Šทํ•ด ๋ณด์ด๋Š”๋ฐ, ์ฆ๊ฐ€ ๊ฐ’์ด i++ ์œผ๋กœ 1์”ฉ ์ฆ๊ฐ€ํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ i = i + 2 ๋ผ๊ณ  ์ž‘์„ฑ๋˜์–ด ์žˆ๋„ค์š”.
    for (var i = 2; i < 10; i = i + 2) 
    • i ๋Š” 2๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ
    • 10๋ณด๋‹ค ์ž‘์„๋•Œ๊นŒ์ง€
    • 2์”ฉ ์ฆ๊ฐ€์‹œํ‚ค๋ฉด์„œ for๋ฌธ์„ ๋Œ๋ฆฐ๋‹ค.
    • i๊ฐ€ 2,4,6,8 ์œผ๋กœ 2์”ฉ ์ฆ๊ฐ€ํ•˜๋ฉฐ for๋ฌธ์„ ์ด 4๋ฒˆ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.
    • i ๋„ for๋ฌธ์„ ๋Œ๋ฉฐ ๊ณ„์† ๋ณ€ํ•˜๋Š” ๊ฐ’์ž…๋‹ˆ๋‹ค.
    • for๋ฌธ ์กฐ๊ฑด์˜ ๋งˆ์ง€๋ง‰์— i = i + 2๋Š” ์›๋ž˜์˜ i ์— 2์”ฉ ๋”ํ•œ๋‹ค๋Š” ๋œป์ด๋ฏ€๋กœ for ๋ฌธ์ด ํ•œ ๋ฒˆ ๋Œ ๋•Œ๋งˆ๋‹ค i ๋Š” 2์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ๋˜ ๋‹ค๋ฅธ ์˜ˆ์‹œ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
    for (var i = 10; i > 7; i--)
    • i๋Š” 10๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ
    • 7๋ณด๋‹ค ํด๋•Œ๊นŒ์ง€ (7๋ณด๋‹ค ํด ๋™์•ˆ๋งŒ)
    • 1์”ฉ ๊ฐ์†Œํ•˜๋ฉด์„œ for๋ฌธ ์•ˆ์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰์‹œํ‚จ๋‹ค.
    • i๊ฐ€ 10, 9, 8 ์œผ๋กœ 1์”ฉ ๊ฐ์†Œํ•˜๋ฉฐ for๋ฌธ์„ ์ด 3๋ฒˆ ๋ฐ˜๋ณตํ•œ๋‹ค.

๐Ÿ˜ป ๋ฐ˜๋ณต๋ฌธ๊ณผ ๋ฐฐ์—ด

  • ๋‹ค์‹œ ํ•œ ๋ฒˆ ์ฒ˜์Œ ๋ดค๋˜ ์ฝ”๋“œ๋ฅผ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
  • cities ๋ฐฐ์—ด์˜ ๊ธธ์ด๋Š” 4์ด๋ฏ€๋กœ, for๋ฌธ์„ 4๋ฒˆ ๋Œ๋ฆฌ๊ณ  ์‹ถ์–ด์„œ i ๊ฐ€ 0๋ถ€ํ„ฐ 3๊นŒ์ง€ 0,1,2,3 ์œผ๋กœ ์ด 4๋ฒˆ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ์กฐ๊ฑด์„ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค.
    const home = "๋Œ€์ „"; 
    let cities = ["์„œ์šธ", "๋Œ€์ „", "๋Œ€๊ตฌ", "๋ถ€์‚ฐ"]; 
    for (let i = 0; i <= 3; i++) {    
      if (cities[i] === home) {      
        console.log("์•„, "+ cities[i] +" ์‚ฌ์‹œ๋Š”๊ตฐ์š”");    
      } 
    }
  • ํ•˜์ง€๋งŒ ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ๋ฐฐ์—ด์˜ ๊ธธ์ด๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋˜๋Š”์ง€ ์ž˜ ์•Œ์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ํ”„๋ก ํŠธ์—”๋“œ ์ฝ”๋“œ์—์„œ ์ง์ ‘ ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ  ์™ธ๋ถ€์—์„œ ๋ฐ›๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๊ณ  ๋„ˆ๋ฌด ๋ฐฐ์—ด์ด ๊ธธ์–ด์„œ ๋„์ €ํžˆ ๊ธธ์ด๋ฅผ ์…€ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ด๋Ÿฐ ๊ฒฝ์šฐ, ๋ฐฐ์—ด์˜ ๊ธธ์ด๊ฐ€ ์–ผ๋งˆ๋‚˜ ๋˜๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ์•Œ๋ฉด ๊ทธ๋งŒํผ for๋ฌธ์„ ๋ฐ˜๋ณตํ•˜๋ฉด ๋˜๊ฒ ์ฃ . ๋ฐฐ์—ด์—๋Š” length ๋ผ๋Š” ์†์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
    let cities = ["์„œ์šธ", "๋Œ€์ „", "๋Œ€๊ตฌ", "๋Œ€์ „", "๊ด‘์ฃผ", "๋Œ€์ „"];
    console.log(cities.length) 
// cities ๋ฐฐ์—ด์˜ ์š”์†Œ๋Š” ์ด 6๊ฐœ ์ด๋ฏ€๋กœ 6 ์ด๋ผ๋Š” ์ˆซ์ž๊ฐ€ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.
    for (var i = 0; i < cities.length; i++) {
       if (cities[i] === home) {
         alert("์•„, ์—ฌ๊ธฐ ์‚ฌ์‹œ๋Š”๊ตฐ์š”");
       }
    }
  • for (var i = 0; i < cities.length; i++)
  • ๊ฐ€์šด๋ฐ ๋น„๊ต์—ฐ์‚ฐ์ž๋ฅผ ์ฃผ์˜ํ•˜์„ธ์š”. <= ๊ฐ€ ์•„๋‹Œ <๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฐฐ์—ด์˜ ๊ธธ์ด๋Š” 6์ด๋ฏ€๋กœ ์ด 6๋ฒˆ์˜ ๋ฐ˜๋ณต๋ฌธ์ด ์‹คํ–‰๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • i๋Š” 0๋ถ€ํ„ฐ 5๊นŒ์ง€ ์ด 6๋ฒˆ์ด ์‹คํ–‰๋˜์–ด์•ผ ํ•˜๋ฏ€๋กœ ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ณด๋‹ค ์ž‘์„๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณต๋ฌธ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • ๋งŒ์•ฝ <= ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค๋Š” ๋น„๊ต์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด
  • i๋Š” 0,1,2,3,4,5,6 ๊นŒ์ง€ ์‹คํ–‰๋˜์–ด ์ด 7๋ฒˆ์˜ ๋ฐ˜๋ณต๋ฌธ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๐Ÿ‘€ Assignment

  • findSmallestElement ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•ด ์ฃผ์„ธ์š”.
  • findSmallestElement ์˜ arr ์ธ์ž๋Š” ์ˆซ์ž ๊ฐ’์œผ๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ array ์ž…๋‹ˆ๋‹ค.
  • array ์˜ ๊ฐ’๋“ค ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ ๋ฆฌํ„ดํ•ด์ฃผ์„ธ์š”.
  • ๋งŒ์ผ array๊ฐ€ ๋น„์–ด์žˆ์œผ๋ฉด 0์„ ๋ฆฌํ„ดํ•ด์ฃผ์„ธ์š”.
  • ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‹ค์Œ๊ณผ ๊ฐ™์€ array์ด ์ธ์ž(input)์œผ๋กœ ๋“ค์–ด์™”๋‹ค๋ฉด 1์ด ๋ฆฌํ„ด๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    [20, 200, 23, 1, 3, 9]
function findSmallestElement(arr) {
  if(arr.length === 0) {
   return 0; 
    //๋ฐฐ์—ด์˜ ๊ธธ์ด๊ฐ€ 0, ์ฆ‰ ๋ฐฐ์—ด์ด ๋น„์–ด์žˆ๋‹ค๋ฉด, 0์„ ๋ฐ˜ํ™˜.
  } else {
    let min = arr[0];
    for ( i = 0; i < arr.length; i++) {
      /* ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ์•Œ ์ˆ˜ ์—†์œผ๋ฏ€๋กœ, 
      ๋ฐฐ์—ด์˜ ๊ธธ์ด๋งŒํผ ๊นŒ์ง€ for๋ฌธ์„ ๋ฐ˜๋ณตํ•œ๋‹ค. */
      if (arr[i] < min) {
        //๊ทธ๋ฆฌ๊ณ  ๋ฐฐ์—ด์„ ํ•˜๋‚˜์”ฉ ์„œ๋กœ ๋น„๊ตํ•˜๋Š” if๋ฌธ.
        min = arr[i];
      }
    } return min;
  }
}
findSmallestElement([3, 20, 50, 60, 99, 2]);
//๊ฒฐ๊ณผ๋Š” 2

์ตœ์†Ÿ๊ฐ’์„ ์ฐพ์•„๋‚ด๊ธฐ ์œ„ํ•œ for๋ฌธ๊ณผ if๋ฌธ์„ ์ž‘์„ฑํ•˜๋Š”๊ฒŒ ๋„ˆ๋ฌด ์–ด๋ ค์› ๋‹ค.
์ตœ๋Œ€๊ฐ’, ์ตœ์†Œ๊ฐ’ ์ฐพ๋Š” ๋ฐฉ๋ฒ•

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