JavaScript

[JavaScript] split, 조건문, 반복문, sort (split, if else, switch, for, while, continue) 예제

SangRok Jung 2022. 4. 7. 23:43
반응형

※ 본 글은 많은 문서를 가지고 있기 때문에 control + f 로 원하는 문서를 참고하길 바랍니다. (MAC : command + f)

 

 

 

 

 

 

▶ String.prototype.split()

String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눕니다.

<body>
    <script>
                    let st = '동해물과 백두산이 마르고, 닳도록.'    //문장 생성
                    const 단어 = st.split(' ');              //' '를 구분자로 문자열을 나누어 단어에 입력
                    console.log(단어);                       //문자열 단어 출력

    </script>
</body>

 

예제

"동해물과 백두산이 마르고, 닳도록." 을 st에 입력하고 ' '를 구분자로 나누어 문자열을 '단어'에 입력하고 문자열 2번째 있는 문자를 출력하시오. ​

<body>
    <script>
                    let st = '동해물과 백두산이 마르고, 닳도록.'    //문장 생성
                    const 단어 = st.split(' ');              //' '를 구분자로 문자열을 나누어 단어에 입력
                    console.log(단어[2]);                       //문자열 단어 출력

    </script>
</body>

 

 

 


 

 

 

 

▶ 조건문

 

if , if ~else

if (boolean-expression)

{

}
if (Boolean-expression)

{ }

else

{ }
 

☞ 예제

아래코드는 시간정보를 얻는 코드이다. 이를 참조하여 오전인지 오후인지 출력하는 조건문을 코딩하시오
<body>
    <script>
        
            const date = new Date()                 //현재의 년도, 월, 요일, 시간을 가져온다.

            console.log(date);                           //출력

            const hour = date.getHours();       //date에서 시간만을 가져온다.

            console.log(hour);                          //출력

    </script>
</body>

답 ↓

<body>
        <script>
               const date = new Date();
               const hour = date.getHours();
              
               if (hour < 12)
               {
                        alert('현재는 AM 입니다.');
               }
               else
               {
                       alert('현재는 PM 입니다.');
               } 
        </script>
</body>

 

 

 

 

 

 

 

C, C++, JAVA, JS, C#의 제어문은 모두 동일하다.

 

 

 

 

 

 

 

if ~ else if ~ else

  if (boolean-expression)

  {

  }

  else if (boolean-expression)

    {

    }

  else

    {

    }

 

☞ 예제

식사시간이 아래와 같을 때

8~9  아침식사 시간입니다

12~13 “점심식사 시간입니다

18~19 “저녁식사 시간입니다

식사시간을 알려주는 코드를 작성하시오.

<body>
        <script>
               const date = new Date();
               const hour = date.getHours();
               console.log(hour);

               if (hour >= 8 && hour <= 9 )
               {
                        alert('아침식사 시간입니다.');
               }
               else if (hour >= 12 && hour <= 13 )
               {
                       alert('점심식사 시간입니다.');
               }
               else if (hour >= 18 && hour <= 19) 
               {
                        alert('저녁 시간입니다.');
               }
               else
               {
                       alert('식사 시간이 아닙니다.');
               }


        </script>
</body>

 

세 개의 숫자를 입력받아 중간수를 구하시오 (단 겹치는 수는 없음)

<body>
   <script>

      const inputNum = prompt('3개의 숫자를 입력하세요', ',로 구분')
      const ar = inputNum.split(', ');

      Number(ar);

             if (((ar[0] < ar[1]) && (ar[0] > ar[2])) || ((ar[0] < ar[2]) && (ar[0] > ar[1])))
             {
                                alert(ar[0]);
             }
             else if (((ar[1] < ar[0]) && (ar[1] > ar[2])) || ((ar[1] < ar[2]) && (ar[1] > ar[0])))
             {
                                alert(ar[1]);
             }
             else if ((ar[2] < ar[0]) && (ar[2] > ar[1]) || ((ar[2] < ar[1] && ar[2] > ar[0])))
             {
                                alert(ar[2]);
             }
             else
             {
                                alert('다시 입력하시오.');
             }
                        
  </script>
</body>

 

 

 

 

 

switch문

switch 문
	switch(data) {
		case cond#1 : 
			break;
		case cond#2 : 
			break;
		default : 
			break;

	}

 

☞ 예제

숫자 하나를 입력받아 짝수인지 홀수인지 숫자가 아닌지 구별하는 코드를 작성하시오.

<body>
    <script>

        const inputNum = prompt('숫자를 입력하시오.');

        let val = inputNum % 2;

            switch (val)
            {
                case 0 :
                    alert('짝수 입니다.');
                    break;

                case 1 :
                    alert('홀수 입니다.') 
                    break;
                    
                default:
                    alert('다시 입력하시오.')
                    break;
            }
  
    </script>
</body>

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

▶ 반복문 for

for (var i = 0; i < 9; i++) 
{
   console.log(i);
}

 

☞ 예제

2단을 console에 출력하는 코드를 작성하시오.

<body>
        <script> 
                let v1 = 2;
                for(let i = 1; i < 10; i++)
                {
                        v2 = v1*i;
                        console.log(v2);
                }

                
        </script>
</body>

 

 

 

 

for in 반복문

상속된 열거 가능한 속성들을 포함하여 객체에서 문자열로 키가 지정된 모든 열거 가능한 속성에 대해 반복합니다. (Symbol로 키가 지정된 속성은 무시합니다.)

for (const 반복변수 in 배열or객체)
{
}

 

c

ar1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]일때 각 요소를 for in을 이용하여 console에 출력하시오.

<body>
    <script>
        
        for(const val in ar1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
        {
            console.log(ar1);
            break;
        }
        
    </script>
</body>

 

 

 

 

 

for of 반복문

반복가능한 객체 (Array, Map, Set, String, TypedArray, arguments 객체 등을 포함)에 대해서 반복하고 각 개별 속성값에 대해 실행되는 문이 있는 사용자 정의 반복 후크를 호출하는 루프를 생성합니다.

for (const 반복변수 of 배열or객체)
{
}

 

☞ 예제

const todolist = [‘식사준비’, ‘설거지‘, ‘청소’] 각 요소를 for of을 이용하여 console에 출력하시오.

<body>
    <script>
        //const todolist 
        for(const val of todolist = ['식사준비’, ‘설거지‘, ‘청소'])
        {
            console.log(val);
            
        }
        
    </script>
</body>

 

 

 

 

 

 

while문

조건문이 참일 때 실행되는 반복문이다. 조건은 문장안이 실행되기 전에 참, 거짓을 판단한다.

while(Boolean-expression)
{
}

 

 

continue문

현재 또는 레이블이 지정된 루프의 현재 반복에서 명령문의 실행을 종료하고 반복문의 처음으로 돌아가여 루프문의 다음 코드를 실행합니다.

let text = '';

for (let i = 0; i < 10; i++) {
  if (i === 3) {
    continue;
  }
  text = text + i;
}

 

☞ 예제

1~10까지 수에서 홀수는 건너뛰고 짝수만을 출력하는 코드를 작성하시오.

<body>
        <script> 
                let num = '';
                
                for (let i = 1; i < 11; i++)
                {
                        if(i % 2 !== 0)
                        {
                                continue
                        }
                        num = num + i;
                }

                console.log(num);
        </script>
</body>

for of 반복문을 이용할 시 

<body>
        <script> 
                
                for (const val of [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
                {
                        if(val % 2 !== 0)
                        {
                                continue
                        }
                        else
                        {
                                console.log(val);
                        }
                }
        </script>
</body>

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

▶ sort

Array.prototype.sort()

 메서드는 배열의 요소를 적절한 위치에 정렬한 후 그 배열을 반환합니다. 

arr.sort([compareFunction])

compareFunction

정렬 순서를 정의하는 함수. 생략하면 배열은 각 요소의 문자열 변환에 따라 각 문자의 유니 코드 코드 포인트 값에 따라 정렬됩니다.
  • 이 함수는 두 개의 배열 element를 파라미터로 입력 받습니다.
  • 이 함수가 a, b 두개의 element를 파라미터로 입력받을 경우,
  • 이 함수가 리턴하는 값이 0보다 작을 경우,  a가 b보다 앞에 오도록 정렬하고,
  • 이 함수가 리턴하는 값이 0보다 클 경우, b가 a보다 앞에 오도록 정렬합니다.
  • 만약 0을 리턴하면, a와 b의 순서를 변경하지 않습니다.

 

 

 

☞ 예제

숫자를 입력 받고 오름차순으로 정렬하는 출력하시오.
<body>
    <script>
        const inputNum = prompt('숫자를 입력하시오', ', 으로 구분');
        const str = inputNum.split(', ');

        str.sort(function(a, b)  
        {
            return a - b;	//두 element의 차가 양수냐 음수냐
        });

        console.log(str);
    </script>
</body>

 

 

 

 

 

 

세개의 숫자를 입력 받아 2번째로 큰 숫자를 출력하시오.

<body>
    <script>

        const value = prompt('세 개의 숫자를 입력하세요.','1, 2, 5 와 같이 입력하시오.').split(", ");

        const intAr = new Array;            //새로운 배열 생성

        intAr.push(Number(value[0]));       //새로운 배열에 입력받은 value값 입력후 문자열 숫자로 변환
        intAr.push(Number(value[1]));
        intAr.push(Number(value[2]));

        intAr.sort(function(a, b)           //새로운 배열을 오름차순으로 설정
        {
            return a - b; 
        });

        alert(intAr[1])                     //중간 값 출력
    
    </script>
</body>

 

반응형