728x90
반응형

 

 

완성 화면

 

 

 

 

코드 보기 / CSS

* {
            margin: 0;
            padding: 0;
        }
        body {
            margin: 0 auto;
            background-color: #000;
            width: 100%;
            height: 100%;
        }
        .box {
            text-align: center;
            width: 1000px;
            height: 500px;
            border: 5px solid #fff;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .decs {
            text-align: center;
            font-size: 30px;
            color: #fff;
            padding: 100px;
        }
        .numberconsole {
            display: inline-block;
            color: #000;
            display: flex;
            align-items: center;
            justify-content: center;
            word-spacing: 10px;
            margin: 20px;
            background-color: #fff;
            width: 50px;
            height: 50px;
            border-radius: 50%;
            
        }
        #randombtn {
            display: block;
            position: absolute;
            left: 45%;
            top: 70%;
            width: 100px;
            height: 50px;
            font-size: 24px;
            cursor: pointer;
            background-color: royalblue;
            border-radius: 15px;
            font-size: 18px;
            color: #fff;
            border: 2px solid #fff;
        }

 

 

 

 

 

코드 보기 / HTML

<div class="box">
        <div class="decs">랜덤 번호</div>
        <div class="numberconsole"></div>
        <div class="numberconsole"></div>
        <div class="numberconsole"></div>
        <div class="numberconsole"></div>
        <div class="numberconsole"></div>
        <div class="numberconsole"></div>
        <button id="randombtn">click</button>
    </div>

이런식으로 쓸 생각은 아니었지만 6개 밖에 안 되고 귀찮아서 그만

 

 

 

 

 

코드 보기 / JAVASCRIPT

const numberRandom = () => {
        const numberConsole = document.querySelectorAll(".numberconsole")
        const number = [];

        for(let i=0; i<numberConsole.length; i++) {
            let Randomnumber;

            do {
                Randomnumber = Math.floor(Math.random()*45)+1;
            } while (number.includes(Randomnumber));

            number.push(Randomnumber);
            numberConsole[i].textContent = Randomnumber;
        }
    };
    
    const Numbtn = document.querySelector("#randombtn");
    Numbtn.addEventListener("click", numberRandom);

 

const numberRandom = () => {...}

: 함수를 정의한다. 화살표 함수를 사용하여 함수를 정의하였고, 화살표 함수는 ES6(ECMAScript 2015) 문법으로 함수를 더 간결하게 작성할 수 있다.

이 함수에서는 HTML 문서에서 class 이름이 "numberconsole"인 모든 요소를 선택한다. 

이를 위해 document.querySelectorAll() 메소드를 사용하며, 이 메소드는 지정된 CSS 선택자에 일치하는 모든 요소를 NodeList 형식으로 반환한다.


const numberConsole = document.querySelectorAll(".numberconsole")

: 선택된 모든 요소를 변수 numberConsole에 할당한다.

다음으로 number라는 빈 배열을 생성한다.

이 배열은 무작위로 생성된 숫자들을 저장하기 위한 용도로 사용된다.

for(...) 
: for 반복문을 사용하여 numberConsole의 수만큼 모든 요소에 대해 이 아래로 서술되는 작업을 수행한다.



let Randomnumber;

: 무작위 숫자를 저장하기 위한 변수 Randomnumber를 선언한다.



do-while 반복문

:  이 반복문을 사용하여 중복되지 않는 무작위 숫자를 생성한다.

do 블록에서는 무조건 한 번은 반복이 실행되며, while 조건문이 true일 때까지 반복이 계속된다.


Randomnumber = Math.floor(Math.random()*45)+1; 

: 1부터 45 사이의 무작위 숫자를 생성한다.

Math.random() 함수는 0부터 1 사이의 난수를 생성하며, Math.floor() 함수를 사용하여 소수점 이하를 버리고 정수를 얻는다. 이렇게 얻은 값에 45를 곱하고 1을 더하여 1부터 45 사이의 정수를 얻는다.

while 조건문에서는 number 배열에 생성한 숫자가 이미 존재하는지 확인한다.

number 배열에 해당 숫자가 없을 때까지 반복하여 중복되는 숫자를 피한다.

또한 number.includes(Randomnumber)를 사용하여 배열에 생성한 숫자가 이미 존재하는지 확인한다.

number.push(Randomnumber)

: 생성한 숫자를 number 배열에 추가한다.



numberConsole[i].textContent = Randomnumber

: Randomnumber 변수에 저장된 무작위 숫자를 해당 "numberconsole" 요소의 textContent 속성에 할당한다.

이를 통해 무작위 숫자가 표시되는 것이다.

const Numbtn = document.querySelector("#randombtn")

: HTML 문서에서 "randombtn" ID를 가진 요소를 선택하고, 이를 변수 Numbtn에 할당한다.

 


Numbtn.addEventListener("click", numberRandom) 

: Numbtn 요소에 대해 "click" 이벤트 리스너를 추가한다.

즉, Numbtn 요소가 클릭될 때마다 numberRandom 함수가 실행되는 것이다.

이를 통해, 사용자가 "randombtn" 버튼을 클릭할 때마다 1부터 45 사이의 무작위 숫자가 "numberconsole" 요소에 표시되게 되는 것이다.

728x90
반응형

 

완 성 화 면

 

분명 가운데 정렬 했는데 왜째서 오른쪽에 치우쳐져 있는 것이지...?

 

 

 

문제 1번.

불러온 json 파일이 어느 형식인지 확인하기.

 

 

 

 

문제 2번 

1번에서 불러온 json 파일을 이용하여 화면에 출력되게 하는데 10초에 한 번씩 변경되도록 하기.

 

 

코드 보기 / CSS

*{
            margin: 0;
            padding: 0;
        }
        body {
            width: 1200px;
            margin: 0 auto;
            background-color: #000;
        }
        .quote {
            font-size: 24px;
            color: #fff;
            text-align: center;
            line-height: 1.5;
            padding: 20px 0 50px 0;
            font-family: 'Oswald';
            position: relative;
        } 
        .author {
            color: #fff;
            text-align: center;
            font-size: 20px;
            font-family: 'Oswald';
        }

난 억울하다 진짜 가운데로 맞췄단 말이다...

 

 

 

 

코드 보기 /  HTML

<div class="write">
        <div class="quote"></div>
        <div class="author"></div>
    </div>

 

 

 

 

코드 보기  / JAVASCRIPT

 const dummy = (value) => {
            fetch(`dummy01.json`)
            .then(res => res.json())
            .then(items => { 
                    const write = document.querySelector(".write")
                    const random = Math.round(Math.random()*30);
                    write.querySelector(".quote").innerHTML = items.quotes[random].quote;
                    write.querySelector(".author").innerHTML = ` - ${items.quotes[random].author}`;
            })
            .catch((err) => console.log(err)); 
            }
            dummy();
            setInterval(dummy,10000);

 

 

 

 

 

const dummuy :

dummy 함수를 호출합니다.
이 함수는 인자를 하나 받아오지만 현재 이 함수에서는 인자를 사용하지 않으므로 무시된다.

 

fetch(`dummy.json)`

: fetch 함수를 사용하여 "dummy01.json" 파일을 가져온다.
fetch 함수는 HTTP 요청을 보내고, 이에 대한 응답(Response)을 Promise 객체로 반환한다.
즉, 이 함수는 서버로부터 데이터를 받아오는 비동기적인 작업을 수행하는 것이다.
가져온 파일은 JSON 형식으로 변환된 후 items 변수에 저장된다.


res.json() 함수

: Promise 객체의 결과인 Response 객체를 JSON 형식으로 변환하여 Promise 객체로 반환한다.
이 Promise 객체의 결과는 items 변수에 저장된다.

 

write

: write 변수를 사용하여 HTML 문서의 .write 클래스를 가진 요소를 찾아옵니다.
document.querySelector 함수를 사용하여 HTML 문서 내에서 .write 클래스를 가진 요소를 찾아온다.
이 요소는 write 변수에 저장된다.

 

Math.round(Math.random()*30)

: Math.random() 함수는 0부터 1사이의 임의의 실수값을 반환하고, Math.random()*30을 하면 0부터 30사이의 임의의 실수값을 구할 수 있다.
Math.round 함수를 사용하여 소수점 이하를 버리고 가장 가까운 정수값으로 반올림한다.
이 값은 random 변수에 저장된다.


구한 임의의 정수값을 사용하여 items 객체 내의 랜덤한 인덱스를 선택한다.
items 객체는 JSON 파일에서 가져온 명언들이 저장된 객체이며, items.quotes는 명언들이 저장된 배열을 나타낸다.items.quotes[random]은 랜덤한 인덱스를 가진 명언 객체를 나타낸다.
이 객체 내의 quote와 author 속성값을 같이 추출한다.
선택된 인덱스의 quote와 author 속성값을 write 변수를 사용하여 HTML 문서에 출력한다.
write.querySelector(".quote")는 HTML 문서 내에서 .quote 클래스를 가진 요소를 찾아오며, write.querySelector(".author")는 HTML 문서 내에서 .author 클래스를 가진 요소를 찾아온다.
이 두 요소 내의 innerHTML 속성값을 각각 items.quotes[random].quote와 items.quotes[random].author로 변경한다.

 

그리고 만약에 에러가 발생하면 catch  블록을 사용하여 예외처리를 수행한다.

catch 블록에서는 콘솔에 에러를 출력하거나, 사용자에게 에러 메시지를보여줄 수 있다.

 

 

마지막으로 실행문에는

dummy( );와 setInterval(dummy, 10000)이 있는데 dummy( );는 화면에 바로 명언이 출력될 수 있도록 이미 dummy를 한 번 실행시키는 역할을 하고  setInterval(dummy, 10000)은 setInterval을 통해  10초에 한 번씩 dummy 함수가 실행되도록 하는 것이다.

728x90
반응형

 

완성 화면

 

 

 

 

 

 

코드 보기 / HTML, JAVASCRIPT

<!DOCTYPE html>
<html lang="ko">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>연습문제 2</title>
  <link rel="stylesheet" href="ex2.css">
</head>
<body>
  <button id="bttn">&#9776;</button>

  <nav id="nav">
    <ul>
      <li class="active js"><a href="#">Javascript</a></li>
      <li class="active ts"><a href="#">Typescript</a></li>
      <li class="active node"><a href="#">Node.js</a></li>
    </ul>
  </nav>


  <script>
    let btn = document.querySelector("#bttn");
    let menu = document.querySelector("#nav")

    btn.addEventListener("click",()=>{
        btn.classList.add("active");
        nav.classList.add("active");
    });
    btn.addEventListener("mouseout",()=>{
        btn.classList.remove("active");
        nav.classList.remove("active");
    });

  </script>
</body>
</html>

 

HTML에는 버튼과 메뉴를 나타내는 요소가 정의되어 있으며, JAVASCRIPT에서는 버튼을 클릭할 때와 마우스가 버튼을 벗어날 때의 이벤트를 처리한다.

 

버튼 요소는 <button> 태그를 사용하여 정의되었다.이 버튼은 아이콘 모양을 나타내는 문자열 ☰을 포함하고 있다.이 버튼에는 bttn이라는 ID가 지정되어 있다.

 

메뉴는 <nav> 태그를 사용하여 정의되었다.이 메뉴는 세 개의 항목(li 태그)이 포함되어 있다.이 항목들은 각각 "Javascript", "Typescript", "Node.js"를 나타내며, 활성 항목은 "active" 클래스가 지정되어 있다.

 

JavaScript에서는 버튼 요소와 메뉴 요소를 선택하여 이벤트를 처리한다.먼저 querySelector를 사용하여 버튼 요소와 메뉴 요소를 선택한다.이후, addEventListener를 사용하여 버튼 클릭 이벤트와 마우스 벗어남 이벤트를 처리한다.

 

버튼 클릭 이벤트는 버튼을 클릭할 때마다 "active" 클래스를 버튼과 메뉴에 추가하여 메뉴를 나타내는 효과를 구현한다.마우스 벗어남 이벤트(mouseout)는 마우스가 버튼에서 벗어날 때 "active" 클래스를 버튼과 메뉴에서 제거하여 메뉴를 숨기는 효과를 구현한다.

 

 

 

 

 

코드 보기 / CSS

* {
    box-sizing: border-box;
  }
  
  body {
    display: flex;
    justify-content: center;
    align-items: center;
    margin:0;
    min-height:100vh;
  }
  a {
    text-decoration: none;
  }
  #bttn {
    position:fixed;
    top:20px;
    right:20px;
    background-color:#639;
    padding:15px;
    border:none;
    outline: none;
    color:white;    
    transition: transform 0.3s ease-in-out;
    cursor: pointer;
  }
  
  #bttn.active {
    transform:translateX(-110px);
  
  }
  #nav {
    position:fixed;
    top:0;
    right:0;
    background-color:#639;  
    height:100vh;
    padding:2em;
    transform:translateX(100%);
    transition: transform 0.3s ease-in-out;
  }
  
  #nav.active {
    transform:translateX(0);
  }
  
  #nav ul {  
    padding:0;
    margin:0;
    list-style: none;
  }
  
  #nav ul li {
    padding:1em 0;
  }
  
  #nav a {
    color:white;
    text-decoration: none;
  }

 

 

이 CSS 코드는 다음과 같은 스타일을 가진 HTML 요소를 가지고 있다.

1. 버튼(#bttn)을 클릭하면 나타나는 사이드 메뉴(#nav)가 있습니다.

2. #bttn은 화면 오른쪽 상단에 고정되어 있으며, 배경색과 글자색이 지정되어 있다.

3. #bttn이 클릭되면, #nav가 화면으로 나타나며, 배경색과 글자색이 지정되어 있다.

4. #nav는 오른쪽에서 화면 안으로 슬라이딩되며, 텍스트 링크가 포함된 목록을 가지고 있다.

5. 링크를 클릭하면 새로운 페이지로 이동한다. 그러나 아직 링크가 지정되어 있지 않다.

 

 

각 요소의 CSS 속성은 다음과 같다.

 

: 모든 요소에 대한 box-sizing은 border-box로 설정된다.

 

body

: body 요소는 flex로 설정되어, 세로 가운데 정렬이 이루어진다.

 

a

: a 요소의 텍스트에 대한 효과는 제거 된다.

 

#bttn

: ttn 요소는 position 속성으로 고정되며, 우측 상단에 위치하도록 설정된다.

클릭 시 transform 속성을 이용하여 좌측으로 이동하며, 배경색과 글자색이 변경된다.

 

#nav

: #nav 요소는 position 속성으로 고정되며, 오른쪽에서 화면으로 나타나도록 transform 속성을 이용한다.

배경색과 글자색이 지정된다.

 

#nav ul

: #nav ul은 패딩과 마진 속성, 그리고 리스트 스타일이 제거된다.

 

#nav ul li

: #nav ul li는 패딩이 1em 만큼 추가된다.

 

#nav a

: #nav a 텍스트 색상이 흰색으로 지정된다.

 

 

 

 

 

 

 

728x90
반응형

 

 

완성 화면

 

 

 

 

 

 

 

 

 

코드 보기 ver. 1

<!DOCTYPE html>
<html lang="ko">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>연습문제 1</title>  
  <style>
    #container {
      width: 600px;
      margin: 20px auto;
    }
    h1 {
      font-size:1.5rem;
      text-align:center;
      margin-bottom:20px;
    }
    .img {
        cursor: pointer;
    }
  </style>
</head>
<body>
  <div id="container">
    <h1>마우스 오버하면 이미지 바꾸기</h1>
    <img class="img"src="pic-1.jpg" alt="">
  </div>

  <script>
    const imgChange = document.querySelector(".img")

    imgChange.addEventListener("mouseover", ()=>{
        imgChange.src = "pic-6.jpg";
    });
    imgChange.addEventListener("mouseout",()=>{
        imgChange.src = "pic-1.jpg";
    });
  </script>
</body>
</html>

 

 

 

HTML 코드

: 이미지를 포함하는 div 요소가 있다.

이 요소의 id는 container이며, css에서 스타일링 시 이 id를 기준으로 선택할 수 있다.

또한 이 div 요소 안에는 이미지를 표시하는 img 요소가 있으며, 이 img 요소는 "img"라는 클래스가 저장되어 있다.

 

 

CSS 코드

: #container 요소에 스타일링을 적용하고 있다.

이 요소의 너비(width)를 600px로 지정하고, margin  속성을 사용하여 수평 중앙 정렬을 적용한다.

h1 요소는 글자 크기가 1.5em으로 가운데 정렬되며, 하단에 20px의 마진이 적용된다.

 

img 클래스가 지정된 img 요소에는 cursor 속성이 포인터로 지정되어 있다.

이 스타일은 마우스를 올리거나 요소를 클릭했을 때 커서의 모양을 변경하는데 사용된다.

 

JAVASCRIPT

: document.querySelector( ) 함수를 사용하여 img 요소를 선택한다.

이 함수는 CSS 선택자를 이용해 요소를 선택할 수 있다.

.img 라는 클래스 선택자를 사용하여 img 요소를 선택한다.

 

선택한 img 요소에 대해 mouserover이벤트와 mouseout 이벤트가 각각 등록된다.

mouseover 이벤트는 마우스가 요소 위로 진입하면 발생하며, mouseout 이벤트는 마우스가 요소를 벗어나면 발생한다.

 

이벤트 발생 시 실행될 콜백 함수는 화살표 함수로 작성되어 있으며, 이 함수는 각각 imgChange.scr 속성을 변경하는 구문을 포함한다.

마우스가 요소 위로 진입하면 imgChange.scr를 pic-6.jpg로 변경하고, 마우스가 요소를 벗어나면 imgChange.scr 속성을 pic-1.jpg로 변경한다.

 

 

 

 

 

 

코드 보기 ver. 2

<!DOCTYPE html>
<html lang="ko">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>연습문제 1</title>  
  <style>
    #container {
      width: 600px;
      margin: 20px auto;
    }
    h1 {
      font-size:1.5rem;
      text-align:center;
      margin-bottom:20px;
    }
    .img {
        background-image: url(pic-1.jpg);
        cursor: pointer;
        width: 600px;
        height: 300px;
    }
    .img:hover {
        background-image: url(pic-6.jpg);
    }
  </style>
</head>
<body>
  <div id="container">
    <h1>마우스 오버하면 이미지 바꾸기</h1>
    <div class="img"></div>
  </div>
</body>
</html>

 

 

HTML 

: ver. 1 코드와 비슷하지만 이미지를 img 태그 대신 div 태그의 배경 이미지로 표시하는 방법을 사용한다.

이 방법은 원래 이미지와 대체 이미지를 모두 div 태그의 배경 이미지로 지정하고, 마우스 오버 시 CSS에서 이 배경 이미지를 변경하여 이미지를 교체하는 방식으로 동작한다.

 

div 요소에 img라는 클래스가 지정되어 있다.

CSS에서 이 클래스를 선택하여 해당  div 요소의 스타일을 지정할 수 있다.

 

 

 

CSS

: img 클래스를 가진 div 요소의 배경 이미지는 background-image 속성으로 지정되며, cursor 속성은 포인터로 변경한다.

div 요소의 너비(width)와 높이(height)는 각각 600px,300px로 지정된다.

 

CSS에서는 img:hover 선택자를 이용하여 마우스 오버 시의 스타일을 지정한다.

 img:hover 에서는 배경 이미지를 기존 이미지인 pic-1.jpg에서 다른 이미지인 pic-6.jpg로 변경한다.

 

 

 

이렇게 작성된 코드는 마우스를 div 요소 위로 올리면 배경 이미지가 교체되며, 마우스가 요소를 벗어나면 다시 원래 이미지로 돌아간다.

ver.1처럼 JAVASCRIPT를 사용하지 않기 때문에 대상 요소가 div와 같은 특정 태그로 제한된다는 단점이 있으나, 

코드가 간단하고 브라우저에서의 성능 문제가 적다는 장점이 있다.

 

 

 

 

 

 

 

 

 

 

 

728x90
반응형

 

 

 

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 값으로 정해줌.

3. 최대공약수를 구할 변수를 선언해줌.

4. 입력 받은 두 수 중 더 큰 값까지 식을 반복시키는 반복문 작성.

5. i로 n과 m을 나누었을 때 모두 나누어 떨어져야 하므로 && (and 연산자) 작성.

6. 둘 다 나누어 떨어지는 i가 최대 공약수가 됨.

7. 리턴문으로 최대 공약수를 불러옴.

 

 

 

728x90
반응형

·

function isPositive(n) {
            if (n > 0) {									  //1
                alert(`${n}은 양수입니다.`);					 //2
            } else if (n < 0) {								 //3
                alert(`${n}은 음수입니다.`);					//4
            } else {
                alert(`${n}은 0입니다.`);					//5
            }
        }
                const number = parseInt(prompt('숫자를 입력하세요.'));   
         
                if(!isNaN(number)) {						//6
                isPositive(number);  						//7
                }

 

1.  여러 조건을 한꺼번에 검사하기 위해 다중 if문을 사용

2. 양수를 구분하기 위해 조건식을 걸어줌. 0보다 크면 양수이기 때문에 양수로 작성

3. 음수를 구분하기 위해 조건식을 걸어줌.

4. 0보다 작으면 음수이기 때문에 음수 작성

5.그 어느 쪽에도 해당하지 않으면 0이므로 0 작성

6. not 연산자를 사용해 NaN이 아닌 값을 출력하라는 조건을 걸어줌

7. 함수 출력문 작성

 

 

▶ parseInt()

: 함수를 사용하는 주요 목적은 문자열에서 숫자를 추출하기 위함입니다. 이 함수는 입력받은 문자열을 실제 숫자값으로 바꾸어 반환.

 

▶ isNaN()

:매개변수가 숫자인지 검사하는 함수입니다.(NaN은 Not a Number입니다.)

 

 

 

 

 

 

parselnt() : https://sisiblog.tistory.com/243

isNaN(): https://www.codingfactory.net/10383

 

[javascript] 자바스크립트 parseInt 사용 방법 (문자열을 숫자로 변환)

참고: https://www.freecodecamp.org/news/parseint-in-javascript-js-string-to-int-example/ 이 튜토리얼에서는 javascript 함수 parseInt()에 대해 설명하겠습니다. 이 parseInt() 함수는 문자열을 파싱해서 숫자나 NaN(Not a Number

sisiblog.tistory.com

 

728x90
반응형

See the Pen 테이블 칸만큼 숫자 넣기 by WOO HYUN (@fiatlux__) on CodePen.

728x90
반응형

See the Pen Untitled by WOO HYUN (@fiatlux__) on CodePen.

 

 

 

 

▷와장창 해설

 

1. 빨간 밑줄

: 사용자에게 값을 입력받아야 하므로 a에 값을 넣어주지 않고 prompt를 넣어 변수를 선언해줌.

 

2. 파란 밑줄

: 입력 받은 수까지의 짝수 합만 구하게 될 변수로 0을 선언해줌.

 

3.  노란 밑줄

: 입력 받은 값은 null이 아니며 1보다 커야한다는 뜻.

 그렇기 때문에 null 값이 아니어야 한다는 뜻의 !== 연산자를 사용,

null도 아니어야 하고 1보다 커야하기 때문에  && (and 연산자)를 사용하였다.

 

4. 하늘색 밑줄

: 입력 받은 값(1보다 큰 임의의 값)을 1씩 증가하며 비교해 봐야 하기 때문에 i를 1로 선언.

i는 입력받은 값(a)보다는 작거나 같아야 하므로 <= 를 사용 하였고, 1씩 증가시키라는 뜻의 i++를 사용.

 

5. 보라색 밑줄

: 입력 받은 값(a)가 홀수나 짝수인지 구분해야 하기 때문에 % (나머지 연산자)를 통해  구분하였고, 홀수이면 화면에 표시하는 명령을 건너 뛰어야 하기 때문에 짝수를 구분하게 하지 않고 홀수를 구분하게 함.

 

6. 연두색 밑줄

: 홀수이면 화면에 표시하는 명령을 건너 뛰고 짝수를 더하는 연산을 계속해야 하므로 coutinue; 사용.

 

7. 분홍색 밑줄

:좌측에는 짝수가 표현되어야 하고 우측에는 좌측 숫자까지의 짝수 합을 표현해야 하므로 좌측에는 짝수를 세는 변수인 i를 작성, 오른쪽에는 입력 받은 짝수까지의 수를 합하는 변수 b를 넣어줌.

또한 가독성을 위하여 <br> 태그도 같이 넣어줌.

 

728x90
반응형

 

 

주어진 배열 안에서 10보다 큰 값 찾기

const arr = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19];

  for(let i=0; i<=arr.length; i++) {
    if(arr[i]>=10) {
      document.write(arr[i],"<br>");
    }
  }

 

 

 해설

 

 

1. const arr  (빨간색 밑줄)

: 문제가 배열 안에서 10보다 큰 숫자를 찾는 것이었기 때문에 문제와 똑같은 배열을 선언해줌.

 

2. i<=arr.length; (파란색 밑줄)

: 배열 요소의 갯수만큼 반복해야 하므로 숫자가 아닌 배열의 수만큼 반복하라는 뜻의 arr.length를 넣어줌

 

3. arr[i]>=10 (노란 밑줄)

: 배열 안의 값 안에서 찾는 것이므로 arr [i]를 넣어주었으며 10보다 큰 수를 찾아야 하기에 >=10 (10보다 크거나 같다는 뜻의 비교 연산자)을 넣어줌. 

 

4. arr[i], "<br>" (분홍색 밑줄)

:콘솔이 아닌 화면으로 출력하기 위해 document.write를 사용하였으며,

 배열 안의 값을 출력하기 위해 arr [i]를 넣어주었고, 가독성을 위해 <br> 태그를 추가함.

 

 

 

 

 

출처 : Do it!모던 자바스크립트 프로그래밍의 정석 p.113

 

 

 

728x90
반응형

See the Pen Untitled by WOO HYUN (@fiatlux__) on CodePen.

+ Recent posts