728x90
반응형

 

for in

{ const arr = [100, 200, 300, 400, 500]
    for (let i in arr) {                            //1
        document.write(i); or document.write(arr[i]);
    }
}

for of 문과 다르게 객체의 키(자리값만 가져올 수 있다.)

document 이후에 i만 작성하면 키만 출력되나, arr[i]를 작성 시 키의 값이 출력된다.

for of 문으로는 키값만 출력할 수 있지만 for in은 document.write 이후에 어떻게 작성하느냐에 따라 자리값과 키값 모두를 출력할 수 있다.

 

1. arr 배열의 키를 출력한다는 구문이다.

 

 

 

 

swich

{
const num = 100;

switch(num) {
    case 90:
        document.write("실행90");
        break;
    case 80:
        document.write("실행80");
        break;
    case 70:
        document.write("실행70");
        break;
    case 60:
        document.write("실행60");
        break;
    case 50:
        document.write("실행50");
        break;
    default:
        document.write("0");
}
}

다중 if문과 같은 형식이다.

조건식 대신 변수 이름을 넣어준다.

swich문은 case와 값을 하나씩 비교하여 일치하는 case를 실행(출력) 시킨다.

if와 다르게 조건을 만족한 후에도 식이 종료되지 않으므로 꼭 break를 사용하여 끊어주어야 한다.

default는 어느 case와도 일치하는 값이 없을 때 출력된다.

default 에는 break문을 작성하지 않는다.

 

 

 

 

중첩 for문으로 구구단 만들기

for(let i=2; i<=9; i++){							//1
    document.write(i + "단","<br>");					//2

    for(let j=1; j<=9; j++){
        document.write(i + "X" + j + "=" + i*j);    //i(곱해지는 수) * j (곱하는 수)
        document.write("<br>");               		//3
    }

    document.write("<br><br>");         			//4
}

1. 구구단의 2단부터 9단까지 반복하는 for문.

2. "n단"을 출력한 뒤에 줄이 바뀜. ","로 n단과 줄바꿈 태그를 구분한다.

3. 곱해지는 1부터 9가 출력되는 for문이다. 곱해지는 수 i와 곱하는 수 j가 반복되며 출력된다.

"+"로 연결 연산되어 출력되며, 등호 옆에는 i와 j가 곱해진 값이 출력된다.

곱해진 값이 출력된 뒤에 줄바꿈 태그가 출력된다.

4. 두 for문이 전부 출력된 뒤에 줄 바꿈이 두 번 되는 태그이다.

 

 

 

 

수를 입력 받아 양수인지 음수인지 아니면 0인지 구분하기

const number = parseInt(prompt("숫자를 입력하세요"));

function a(n) {										//1
            if (n > 0) {										//2
                document.write(`${n}은 양수입니다.`);
            } else if (n < 0) {									//3
                document.write(`${n}은 음수입니다.`);
            } else {											//4
                document.write(`${n}은 0입니다.`);
            }
        }
                
                if(!isNaN(number)) {  									//5
                a(number);  											//6
                }

 

1. parselnt ( )를 변수로 저장하는 구문.

parseInt 함수는 문자열에서 숫자를 추출할 때 사용한다.

입력 받은 문자열을 실제 숫자값으로 바꾸어서 반환하는 함수이다.

 

2. 입력받은 수 n이 0보다 클 때 (양수일 때)를 구분하기 위해 n > 0이라는 조건을 준다.

 

3. 입력 받은 수 n이 0보다 작을 때 (음수일 때)를 구분하기 위해 n < 0 이라는 조건을 준다.

4. 입력 받은 수 n이 0보다 크지도 않고 작지도 않다면 0 밖에 남지 않는다. 

5. if 문을 하나 더 작성하여 입력 받은 것이 숫자인지 아닌지를 구분해 주어야 한다.

isNaN은 어떤 값이 NaN인지 판별하는 함수이다.

isNaN 앞에 !가 붙어있으므로 숫자가 아닌 것을 판단하도록 한다.

여기서 NaN은 Not-A-Number(숫자가 아님)을 뜻한다.

6. parseInt 함수 이름인 a를 작성하여 함수가 출력되도록 한다.

 

 

 

 

두 수를 입력 받아 최대 공약수 구하기

function a (n, m) { 		            	 //1
  let max = n > m ? n : m;                  //2
  let a = 0;            	                  //3
  for (let i = 1; i <= max; i++) {          //4
    if (n % i === 0 && m % i === 0) {       //5

      a = i;   // 최대공약수              	//6
    }
  }
  return a;                               	//7
}

document.write(`308과 20의 최대공약수 : ${getGCD(308, 20)}`);
document.write(`45과 38의 최대공약수 : ${getGCD(45, 38)}`);

1. 최대 공약수를 구하기 위해서는 두 수가 필요하므로 여러 개의 함수를 작성할 수 있는 매개변수 함수를 작성해준다.

2. 둘 중에 더 큰 수를 max 값으로 두어야 하기 때문에 삼항 연산자를 사용하여 입력 받은 두 수 n과 m 중에  더 큰 수를 max 값에 저장해준다.

3.  최대 공약수를 출력할 변수를 하나 더 선언해준다.

4. for 문을 사용하여 max 값까지 반복하는 구문을 작성한다.

5. i가 n을 나누어도, m을 나누어도 0이 되어야 하기 때문에 동시에 같은 조건을 만족해야 하므로 &&(and 연산자)를 작성해준다.

6. n과 m 둘 모두를 나누어도 0이 되는 수를 만족한 i 값을 최대 공약수를 구하기 위해 선언한 변수에 넣어준다.

7. 리턴값 함수로 구해진 a의 값을 반환해준다.

 

 

 

 

 

 

+ Recent posts