본문 바로가기

온라인 강의/Javascript(생활코딩)

Javascipt 제어문

반응형

 문자열 프로퍼티와 메소드

var str1 = "Hello world";
str1.length; //문자열 길이
str1.charAt(0); //문자열 H 추출
str1.split(" "); //공백 기준으로 문자열 나눔 -> 출력할 때는 배열 [Hello,world]로 됨

 배열 프로퍼티와 메소드

var fruit = ["사과","배","포도"];

fruit.length; //데이터 개수
fruit.push("딸기"); //배열 뒤에 데이터 삽입
fruit.unshift("레몬"); //배열 앞에 데이터 삽입

fruit.pop(); // 배열 뒤의 데이터 제거 
fruit.shift(); // 배열 앞의 데이터 제거

 join() 메서드

const elements = ['Fire', 'Air', 'Water'];

console.log(elements.join());
// expected output: "Fire,Air,Water"

console.log(elements.join(''));
// expected output: "FireAirWater"

console.log(elements.join('-'));
// expected output: "Fire-Air-Water"

 math의 수학 연산 메소드

Math.abs(-3); //절대값
Math.ceil(0.3); //올림
Math.floor(10.9); //내림
Math.random(); //// 0과 1 사이의 임의의 숫자 출력

 문자를 숫자로 변환하는 메소드

parseInt("20.6"); // 정수형태 "20" 변환
parseFloat("20.6"); //실수형태 "20.6" 변환

● 문자열 산술연산자

console.log("20"+"10"); //1020
console.log("20"-"10"); //10
console.log("20"*"10"); //200
console.log("20"/"10"); //2
console.log("20"%"10"); //0

-> "+"  제외하고는 숫자와 같이 동작

● 증감연산자

var num = 10;

cosole.log(++num); //num+1  후 num 출력
cosole.log(--num); //num-1  후 num 출력

cosole.log(num++); //num 출력 후 num+1 
cosole.log(num--); //num 출력 후 num-1

 비교연산자

console.log(10==20);
console.log(10===20); //데이터타입과 값이 같다
console.log(10!==20);

console.log(10>20);
console.log(10>=20);
console.log(10<20);
console.log(10<=20);
console.log(10 == "10"); //true -> 같은 10으로 인식
console.log(10 === "10"); //false -> 숫자와 문자열로 자료형이 다르기 때문

● 논리연산자

console.log(10===10 && 20===30); //false
console.log(10===10 || 20===30); //true

if ~ else 문

if(a<b){
	console.log("a는 b보다 작다");
}
else{
	console.log("a는 b보다 크거나 같다");
}

else if 문

if(a<b){
	console.log("a는 b보다 작다");
}
else if(a==b)
{
	console.log("a는 b와 같다");
}
else{
	console.log("a는 b보다 크다");
}

for 문

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

 while 문

var num = 0;

while(num < 10){
	console.log(num);
	num++;
}

do ~ while 문

var num = 12;

do{
    console.log(num);
    num++;
}while(num < 10);

 자바스크립트 활용

문자열 str 을 거꾸로 출력하는 함수 reverse()를 구현한 코드

function reverse(str){                         
    var reverStr = "";                         
    for(var i = str.length-1; i >= 0; i--) {    
        reverStr = reverStr + str.charAt(i);   
    }
    return reverStr;
}
document.write(reverse("Nice to meet you"));
//구구단
function timesTable(n) {
    for(var i = 1;i < 10;i++) {
        document.write(n + ' x ' + i + ' = ' + (i*n) + '<br>')
        //'<br>' -> document.write 쓸 때 개행하기
    }
}

// 2단부터 9단까지 출력하는 반복문
for(var i=2;i<10;i++) {
    for(var j=1;j<10;j++){
        document.write(i,'x',j,"=",i*j,'<br>')
    }
    
}
//여러 줄로 출력하기

function solution() {

  return "400\nbus\n\like";
}

//결과

//400
//bus
//like

○ 따옴표 출력하기

큰 따옴표 " ", 작은 따옴표 ' '가 서로 혼용되서 사용될 경우 자바스크립트 엔진이 제대로 해석할 수 있도록 구분을 해야함!

\ 역슬래시를 문자열에 표현할 따옴표 앞에 적어줌

"\"It's all right.\"";
'"It\'s all right."';

 

function solution() {

    return '"It\'s all right."';;
}
function solution(num1, num2) {
  let answer = [];

  answer.push(Math.floor(num1 / num2));
  answer.push(num1 % num2);

  return answer;
}
//function 속의 function

function solution() {
  function add(x, y) {
    return x + y;
  }
  return add;
}

//return add()하면 solution함수 내에 add함수의 값을 return하게 되므로 add라고 써야함!
//문자열 자르기

function solution(str) {
  var answer = [];

  var a = str.split(" ");// 공백을 기준으로 배열 자름
  answer.push(typeof a); // 자료형을 문자열로 리턴
  answer.push(a[0]);

  return answer;
}
//N줄 입력받기

function solution(input) {
  var answer;
  answer = input.split("\n");
  return answer;
}
function solution(s) {
  var answer = "";//문자열이라는 것 설정해주기. 안하면 처음에 이상한 값 들어있음.

  for (var i = 0; i < s.length; i++) {
    if (s[i] == " ") {
      answer += "링디기디기\n";//줄바꿈
    } else if (s[i] == ".") {
      answer += "딩딩딩\n";
    } else {
      answer += "링딩동 ";
    }
  }

  return answer;
}
//소수의 합
function solution() {
  var sum = 0;

  for (var i = 1; i <= 200; i++) {
    for (var j = 2; j <= i; j++) {
      if (i % j == 0) {
        break;
      }
    }
    if (j == i) {
      sum += j;
    }
  }

  return sum; 
}
//약수찾기
function solution(input) {
  var answer = [];
  for (let i = 1; i <= input; i++) {
    if (input % i === 0) {
      answer.push(i);
    }
  }
  return answer;
}
//중첩된 배열 풀기

function solution(arr) {
  var answer = [];

  for (let i = 0; i < arr.length; i++) {
      for (let j = 0; j < arr[i].length; j++) {
          answer.push(arr[i][j]);
      }
  }

  return answer;
}

//또는

function solution(arr) {
  var answer;

  answer = arr.flat();

  return answer;
}
// 매개변수 n이 소수라면 true를, 소수가 아니라면 false를 반환합니다.
function isPrime(n){
    if (n === 1)
        return false;

    var divisor = 2;
    while (n > divisor)
    {
        if (n % divisor === 0)
        {
            return false;
        }divisor++;
    }
    
    return true;
}

//소수 판별 함수
document.write(isPrime(10)); //false 반환
document.write(isPrime(13)); //true 반환
반응형