기초공사 (html,css,javascript)

03_반복문_for / foreach 본문

javascript/js_study

03_반복문_for / foreach

에스프레소라떼 2023. 5. 19. 10:14

1. for문

for문은조건에 들어가는 값이 일정하게 커지면서 명령을 반복 실행할때 편하다.

 

for(초기값; 조건; 증가식;) { ......}

글로 설명보다 사진이 편하지.ㅋㅋ

 

**for반복문 예제


// const color = ["red","orange","purple","skyblue"];
// console.log(color)

// // for(초기값; 조건; 증감식){
// // }
// for(let i = 0; i < color.length; i++){
//    document.write(`${color[i]}~~`)
// }
 

i가 배열안에 있는 목록이다! (<----이걸 헷갈려서 한참을 멍~)

 

// for예제 (break를 유심히보길) --

/Do it 실습!
/*
사용자가 입력한 숫자가 소수인지의 여부를 확인하는 프로그램을 작성해보라!
생각 노트 - 1. 소수를 따질때 제외해야 하는 숫자가 있을까? /
2.어떤반복문을 사용해서 어디부터 어디까지 반복해야 하나요?

소수란 : 1과 자기자신만 있는 1보다 큰 양의 정수이다.(2,3,5,7,11,....)
다른수로 나누어 떨어진다면 소수가 아니다.
1은 소수도 합성수도 아니다. 따라서 number값이 3이상인 자연수만 소수인지 체크하면 된다.
*/
/*
const number = parseInt(prompt("숫자를 입력하세요"));
let isPrime;  //소수인지의 여부를 지정한다. true 또는 false

if(number === 1 ){
   document.write(`${number}는 소수도 합성수도 아닙니다.`)-------1번
} else if (number === 2) {
   document.write(`${number}는 소수입니다.`) -------------------1번
} else {
 
 for(let i = 2; i < number; i++){
      //이자리는 화면에 출력할 자리. 그러므로 if절이 한번 더와야한다.
      if(number % i === 0 ){   //나누어 떨어지니 소수가 아니다.false   --->number % i === 0
         isPrime = false;
         // document.write(`${number}는 소수가 아닙니다.`)
          number에 15을 입력햇을면 i가3부터 23번까지 계속 반복할것이다.
          break; //얘가 있으면 한번만 실행하고 빠져나간다.
      }

      else {
         isPrime = true;
         // document.write(`${number}는 소수입니다.`)
      }
   }
   
   // ****출력*******isPrime값에 따라 true이면 소수, false면 소수가아니라고 표현해야 한다.
   if (isPrime){
      document.write(`${number} 소수입니다.`);
   }else {
      document.write(`${number} 소수가 아닙니다..`);
   }
}
 
 

number % i === 0를이해하는가? 뒤에 나올 마무리문제2에서 난 헷갈렸다.

마무리문제2에서는 i % 2로 했다. 디버깅을 해보니 알게되었지만, i가 무슨 의미인지 한번 더 되짚어봐야한다.

왜 i로 나눌까. i는 순번이다. 횟수, 몇번째, 입력한숫자까지의 배열순번 이다.

1-1. break; 가 없을때

15는 소수입니다. 15는 소수입니다. 15는 소수가 아닙니다...반복해서 나옴.

 

break가 있을때;

 

2. forEach문

forEach문에서 fruits 배열에 있는 각 요소를  fruit 라고 정해놓고,   fruit 값을 화면에 표시하는예제입니다.

배열명.forEach(콜백함수)

 

//for each 예제
/*
좋아하는 과일 이름이 들어 있는 'fruits'라는 배열을 만들고 fruit의 값을 표시해보세요
생각노트 - 1. 변수에배열명 만든다. 2.foreach문을쓴다.
foreach문
배열명.foreach(function(콜백함수){
});
*/

// const fruits = ["apple", "orange", "peach", "melon", "banana"];
//
fruits.forEach(function(fruit){
//    document.write(`${fruit}/`)
// });
// --> fruit에 apple, orange, peach, melon, banana가 하나씩 들어오는걸 디버깅해보면 나온다.
 

'javascript > js_study' 카테고리의 다른 글

04_콜백함수  (0) 2023.05.21
03_마무리문제  (0) 2023.05.19
03_switch문  (0) 2023.05.19
03_연산자.  (0) 2023.05.19
prompt  (0) 2023.05.17