728x90
함수 설명 예제 반환 값
FLOOR 입력된 인자 값보다 작거나 같은 정수 값을 반환 SELECT FLLOR (14.5) AS FROM DUAL; 14
CEIL 입력된 인자 값보다 크거나 같은 정수 값을 반환 SELECT CEIL(14.5) AS FROM DUAL; 15
TRUNC 첫 번째 인자 값을 소수점 n번째 자리(두번째 인자 값)으로 버림하여 반환 SELECT TRUNC(15.4, 0) AS FROM DUAL; 15
ROUND 첫 번째 인자 값을 소수점 n번째 자리(두번째 인자 값)로 반올림하여 반환 SELECT ROUND(15.4) AS FROM DUAL; 15

 

반응형
SMALL
728x90

SQL 문의 종류

 

DML 문 (Data Manipulation Language, 데이터 조작어)

TCL 문 (Transaction Control Language, 트랜잭션 제어어)

DDL 문 (Data Definition Language, 데이터 정의어)

DCL 문 (Data Control Language, 데이터 제어어)

종류 구문 설명
DML  SELECT
 INSER 
 UPDATE
 DELETE
 MERGE
테이블에 저장된 데이터를 조작(조회, 입력, 수정 ,삭제)하기 위한 구문
TCL  COMMIT
 ROLLBACK
 SAVEPOINT
DML 문에 의한 데이터의 변경 사항을 데이터베이스에 영구히 반영하거나 취소하기 위해 트랜잭션(Transaction)을 제어하는 구문
DDL   CREATE
 ALTER
 DROP
 RENAME
 TRUNCATE
테이블, 인덱스와 같은 데이터베이스 오브젝트의 구조를 정의(생성, 변경, 삭제)하기 위한 구문
DCL  GRANT
 REVOKE
데이터에 대한 권한을 부여하거나 취소하기 위한 구문

 

일반 집합 연산자

 

UNION 연산(합집합 연산)은 집합 연산자 중 UNION / UNION ALL 연산자로 구현

INTERSECTION 연산(교집합 연산)은 집합 연산자 중 INTERSECT 연산자로 구현

DIFFERENCE 연산(차집합 연산)은 연산자 중 EXCEPT / MINUS 연산자로 구현

PRODUCT 연산(곱집합 연산)은 조인 문법 중 CROSS JOIN으로 구현

 

테이블 구조

 

테이블은 칼럼과 행의 2차원 구조를 가진 데이터베이스 객체

데이터 모델링 단계에서의 엔터티(Entity)는 관계형 데이터베이스에서 테이블(Table)로 구현되며,

속성(Attribute)은 칼럼(Column)으로 구현된다.

엔터티 간의 관계(Relationship)는 외부키(Foregin Key)로, 식별자(Identifier)는 기본키(Primary Key)로 구현할 수 있다.

 

반응형
SMALL
728x90

1.ROWNUM

조회된 순서되로 순번을 매긴다.

SELECT ROWNUM, A.*
FROM empTable A
ROWNUM empNo empName empJob
1 684123 노나나 변호사
2 754349 김가경 변호사
3 123873 두도담 회계사
4 782645 맹무민 회계사
5 962455 류리리 회계사

 

ORDER BY를 사용하면 순번이 섞일수 있어서 정렬된 서브쿼리 결과에 ROWNUM을 사용해야된다.

SELECT ROWNUM, B.*
FROM (
	SELECT A.*
    FROM empTable A
    ORDER BY A.empName
    ) B
ROWNUM empNo empName empJob
1 684123 김가경 변호사
2 754349 노나나 변호사
3 123873 두도담 회계사
4 782645 류리리 회계사
5 962455 맹무민 회계사

 

2. ROW_NUMBER()

ORDER BY 된 결과에 순번을 매길때는 ROWNUM 보다 ROW_NUMBER()함수가 더 편리하다.

SELECT ROW_NUMBER() OVER(ORDER BY A.empJop, A.empName) rowNum, A.*
FROM empTable A
ORDER BY A.empJop, A.empName
ROWNUM empNo empName empJob
1 684123 김가경 변호사
2 754349 노나나 변호사
3 123873 두도담 회계사
4 782645 류리리 회계사
5 962455 맹무민 회계사

그룹별(PARTITION)로 순번을 따로 부여할 수 있다.

SELECT ROW_NUMBER() OVER(PARTITION BY A.empJop ORDER BY A.empJop, A.empName) rowNum, A.*
FROM empTable A
ORDER BY A.empJop, A.empName
ROWNUM empNo empName empJob
1 684123 김가경 변호사
2 754349 노나나 변호사
1 123873 두도담 회계사
2 782645 류리리 회계사
3 962455 맹무민 회계사
반응형
SMALL

'공부 > Oracle Sql' 카테고리의 다른 글

[Sql] 올림,반올림,내림 관련 쿼리  (0) 2023.02.13
[SQL 기본] 관계형 데이터베이스 개요  (0) 2022.12.25
728x90

어떤 배열에 있는 모든 요소들의 값을 변경해서 새로운 배열을 만들어야할때가 있습니다.

그때 반복문을 이용하여 처리하는 대신, 간단하게 Array.map() 함수를 이용하면 편하게 할 수있습니다.

let arr = [2,4,6,8];

이러한 배열이 있다고 가정했을때, 각 요소에 2를 곱해야 되는 상황이 있을때,

반복문 for문을 사용 할 수도 있습니다.

 

let arr = [2,4,6,8];

for (let i = 0; i < arr.length; i++){
  arr[i] = arr[i] * 2;
}

console.log(arr); // [4,8,12,16]

for문도 간단하게 처리는 되지만  Array.map()으로도 동일한 결과를 얻을 수 있습니다.

let arr = [2,4,6,8];

let modifiedArr = arr.map(function(element){
    return element *2;
});

console.log(modifiedArr); // [4,8,12,16]

 

객체 배열에서 map()을 사용하는 방법

만약 사람의 firstName과 lastName을 저장하는 객체 배열이 있다고 할때,

 

let users = [
  {firstName : "Kim", lastName: "MinJi"},
  {firstName : "Park", lastName: "JoonYoung"},
  {firstName : "Lee", lastName: "SeungHyun"}
];

 다음과 같은 map()함수를 이용하여 firstName과 lastName을 결합할 수 있습니다.

 

let users = [
  {firstName : "Kim", lastName: "MinJi"},
  {firstName : "Park", lastName: "JoonYoung"},
  {firstName : "Lee", lastName: "SeungHyun"}
];

let userFullnames = users.map(function(element){
    return `${element.firstName} ${element.lastName}`;
})

console.log(userFullnames);
// ["Kim MinJi", "ParkJoonYoung", "LeeSeungHyun"]

 

반응형
SMALL
728x90

1330

/*
첫째 줄에 다음 세 가지 중 하나를 출력한다.

A가 B보다 큰 경우에는 '>'를 출력한다.
A가 B보다 작은 경우에는 '<'를 출력한다.
A와 B가 같은 경우에는 '=='를 출력한다.
*/

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        
        if(a > b){
            System.out.println(">");
        }
        else if(a < b){
            System.out.println("<");
        }else{
            System.out.println("==");
        }
    }
}

9498

/*
시험 점수를 입력받아 
90 ~ 100점은 A, 
80 ~ 89점은 B, 
70 ~ 79점은 C, 
60 ~ 69점은 D, 
나머지 점수는 F를 출력하는 프로그램을 작성하시오.
*/

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        
        if(a >= 90 && a <= 100){
            System.out.println("A");
        }else if(a >= 80 && a <= 89){
             System.out.println("B");
        }else if(a >= 70 && a <= 79){
             System.out.println("C");
        }else if(a >= 60 && a <= 69){
             System.out.println("D");
        }else{
            System.out.println("F");
        }
    }
}

2753

/*
연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오.

윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다.

예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다.
*/

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int iYear = sc.nextInt();
        if(iYear % 4 == 0 && (iYear % 100 != 0 || iYear % 400 == 0)){
            System.out.println(1);
        }else{
            System.out.println(0);
        }
    }
}

14681

//첫 줄에는 정수 x가 주어진다. (−1000 ≤ x ≤ 1000; x ≠ 0) 다음 줄에는 정수 y가 주어진다. (−1000 ≤ y ≤ 1000; y ≠ 0)

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        
        int x = sc.nextInt();
        int y = sc.nextInt();
        
        if(x > 0 && y > 0){
            System.out.println(1);
        }else if(x > 0 && y < 0){
            System.out.println(4);            
        }else if(x < 0 && y > 0){
            System.out.println(2);
        }else{
            System.out.println(3);
        }
    }
}

2884

/*
첫째 줄에 두 정수 H와 M이 주어진다. (0 ≤ H ≤ 23, 0 ≤ M ≤ 59) 그리고 이것은 현재 상근이가 설정한 놓은 알람 시간 H시 M분을 의미한다.
입력 시간은 24시간 표현을 사용한다. 24시간 표현에서 하루의 시작은 0:0(자정)이고, 끝은 23:59(다음날 자정 1분 전)이다. 시간을 나타낼 때, 불필요한 0은 사용하지 않는다.
*/

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        
        int a = sc.nextInt();
        int b = sc.nextInt();

        if(b - 45 < 0){
           b = 60 + (b - 45);
           a = a - 1; 
        }else{
            b = b - 45;
        }
        if(a < 0){
            a = 23;
        }
        System.out.println( a + " " + b);
    }
}

2525

//첫째 줄에는 현재 시각이 나온다. 현재 시각은 시 A (0 ≤ A ≤ 23) 와 분 B (0 ≤ B ≤ 59)가 정수로 빈칸을 사이에 두고 순서대로 주어진다. 
//두 번째 줄에는 요리하는 데 필요한 시간 C (0 ≤ C ≤ 1,000)가 분 단위로 주어진다. 

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
       Scanner in = new Scanner(System.in);
 
        int A = in.nextInt();
        int B = in.nextInt();
 
        int C = in.nextInt();
 
        int min = 60 * A + B;   // 시 -> 분
        min += C;
 
        int hour = (min / 60) % 24;
        int minute = min % 60;
 
        System.out.println(hour + " " + minute);
    }
 }

2480

/*
1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 

같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 
같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)×100원의 상금을 받게 된다. 
모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)×100원의 상금을 받게 된다.  
예를 들어, 3개의 눈 3, 3, 6이 주어지면 상금은 1,000+3×100으로 계산되어 1,300원을 받게 된다. 또 3개의 눈이 2, 2, 2로 주어지면 10,000+2×1,000 으로 계산되어 12,000원을 받게 된다. 3개의 눈이 6, 2, 5로 주어지면 그중 가장 큰 값이 6이므로 6×100으로 계산되어 600원을 상금으로 받게 된다.

3개 주사위의 나온 눈이 주어질 때, 상금을 계산하는 프로그램을 작성 하시오.
*/
import java.util.Scanner;
 
public class Main {
	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
 
		int a, b, c;
		a = in.nextInt();
		b = in.nextInt();
		c = in.nextInt();
 
		// 만약 모든 변수가 다른 경우
		if (a != b && b != c && a != c) {
			int max;
			// 만약 a > b 라면
			if (a > b) {
				// c > a > b 라면
				if (c > a) {
					max = c;
				} 
				// a > (b, c)
				else {
					max = a;
				}
			}
			// b > a 라면	
			else {
				// c > b > a 라면
				if (c > b) {
					max = c;
				}
				// b > (a, c)
				else {
					max = b;
				}
			}
			System.out.println(max * 100);
		}
		// 적어도 한 쌍 이상의 서로 같은 변수가 존재할 경우
		else {
			// 3개의 변수가 모두 같은 경우
			if (a == b && a == c) {
				System.out.println(10000 + a * 1000);
			}
			else {
				// a가 b혹은 c랑만 같은 경우
				if(a == b || a == c) {
					System.out.println(1000 + a * 100);
				}
				// b가 c랑 같은 경우
				else {
					System.out.println(1000 + b * 100);
				}
			}
		}
	}
}
반응형
SMALL

'공부 > 백준 문제풀이' 카테고리의 다른 글

[백준] 입출력과 사칙연산 Java  (0) 2022.10.04
728x90

2557 Hello World

public class Main {
	public static void main(String[] args) {
		System.out.println("Hello World!");
	}
}

10718 We love kriii

public class Main {
	public static void main(String[] args) {
		System.out.println("강한친구 대한육군");
        System.out.println("강한친구 대한육군");
	}
}

1000 A+B

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        System.out.println(a + b);
	}
}

1001 A-B

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        System.out.println(a - b);     
    }
}

10998 A*B

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        System.out.println(a * b);
    }
}

1008 A/B

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        double a = sc.nextInt();
        double b = sc.nextInt();
        System.out.println(a / b);
    }
}

10869 사칙연산

//두 자연수 A와 B가 주어진다. 이때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. 
import java.util.Scanner;

public class Main{
    public static void main(String[] arg){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        
        System.out.println(a + b);
        System.out.println(a - b);
        System.out.println(a * b);
        System.out.println(a / b);
        System.out.println(a % b);
    }
}

10926 ??!

//첫째 줄에 준하의 놀람을 출력한다. 놀람은 아이디 뒤에 ??!를 붙여서 나타낸다.
import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        String str = sc.nextLine();
        System.out.println(str + "??!");
    }
}

18108 1998년생인 내가 태국에서는 2541년생?!

//2541 >>> 1998
import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = 2541 - 1998;
        System.out.println(a - b);
    }
}

3003 킹, 퀸, 룩, 비숍, 나이트, 폰

//체스는 총 16개의 피스를 사용하며, 킹 1개, 퀸 1개, 룩 2개, 비숍 2개, 나이트 2개, 폰 8개로 구성되어 있다.
import java.io.IOException;
import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int[] cnt = new int[6];
        int[] full = new int[]{1, 1, 2, 2, 2, 8};
        for(int i = 0; i < 6; i++){
            cnt[i] = sc.nextInt();
        }
        
        for(int j = 0; j < full.length; j++){
            cnt[j] = full[j] -  cnt[j];
            System.out.print(cnt[j] + " ");
        }
       
    }
}

10430 나머지

//첫째 줄에 (A+B)%C, 둘째 줄에 ((A%C) + (B%C))%C, 셋째 줄에 (A×B)%C, 넷째 줄에 ((A%C) × (B%C))%C를 출력한다.
import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int c = sc.nextInt();
        
        System.out.println((a + b)%c);
        System.out.println(((a % c) + ( b % c))%c);
        System.out.println((a * b)%c);
        System.out.println(((a % c) * (b % c))%c);
        
    }
}

2588 곱셈

import java.util.Scanner;

public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        String b = sc.next();
        
        sc.close();
        
        System.out.println(a * (b.charAt(2) - '0'));
        System.out.println(a * (b.charAt(1) - '0'));
        System.out.println(a * (b.charAt(0) - '0'));
        System.out.println(a * Integer.parseInt(b));
    }
}

10171 고양이

/*******
\    /\
 )  ( ')
(  /  )
 \(__)|
 *******/

public class Main{
    public static void main(String[] args){
        System.out.println("\\    /\\");
        System.out.println(" )  ( ')");
        System.out.println("(  /  )");
        System.out.println(" \\(__)|");
        
    }
}

10172 개

/*
|\_/|
|q p|   /}
( 0 )"""\
|"^"`    |
||_/=\\__|
*/
public class Main{
    public static void main(String[] args){
        System.out.println("|\\_/|");
        System.out.println("|q p|   /}");
        System.out.println("( 0 )\"\"\"\\");
        System.out.println("|\"^\"`    |");
        System.out.println("||_/=\\\\__|");
    }
}

25083 새싹

/*
         ,r'"7
r`-_   ,'  ,/
 \. ". L_r'
   `~\/
      |
      |
*/
public class Main{
    public static void main(String[] args){
        System.out.println("         ,r'\"7");
        System.out.println("r`-_   ,'  ,/");
        System.out.println(" \\. \". L_r'");
        System.out.println("   `~\\/");
        System.out.println("      |");
        System.out.println("      |");
        
    }
}
반응형
SMALL

'공부 > 백준 문제풀이' 카테고리의 다른 글

[백준] Java 단계별로 풀어보기 - 조건문  (0) 2022.10.10
728x90

제이쿼리에서 지원해주는 기본 달력

페이지를 만들다 보면 날짜를 가져와야되는 경우가 많은데 이럴때 유용하게 쓸 수 있는 제이쿼리에서 지원해주는 달력을 알아 보겠습니다.

<!doctype html>
<html lang="kr">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>jQuery UI Datepicker - Default functionality</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.13.2/themes/base/jquery-ui.css">
  <link rel="stylesheet" href="/resources/demos/style.css">
  <script src="https://code.jquery.com/jquery-3.6.0.js"></script>
  <script src="https://code.jquery.com/ui/1.13.2/jquery-ui.js"></script>
  <script>
  $( function() {
    $( "#datepicker" ).datepicker();
  } );
  </script>
</head>
<body>
 
<p>Date: <input type="text" id="datepicker"></p>
 
 
</body>
</html>

 

이런식으로 소스를 넣으면 바로 달력을 이용할수 있어서 날짜를 가져올때 편하게 쓸 수 있으며, 링크 형식이라 라이브러리도 따로 필요없는 장점이 있습니다.

 

만약 포맷 방식을 바꾸고 싶다면

//"mm/dd/yy"
//"yy-mm-dd"
//"d M, y"
//"d MM, y"
//"DD, d MM, yy"
//"&apos;day&apos; d &apos;of&apos; MM &apos;in the year&apos; yy"
$( "#datepicker" ).datepicker( "option", "dateFormat","포맷형식");

이런식으로 추가해서 포맷형식을 바꿀 수 있습니다.

 

더 자세한 사항은 https://jqueryui.com/datepicker/#default 여기에서 참고하시면 됩니다.

반응형
SMALL
728x90

자바스크립트 배열 추가,삭제 방법

배열 추가 : Array.push(),  Array.unshift(),  Array.splice()
배열 삭제 : Array.pop(),  Array.shift(),  Array.splice()

 

배열 추가

1. Array.push() - 배열의 끝에 추가

var arr = ['A', 'B', 'C'];

arr.push('D'); // 배열의 끝에 추가
// arr = ['A', 'B', 'C', 'D']

 

2. Array.unshift() - 배열 앞쪽에 추가

var arr = ['A', 'B', 'C'];

// 배열의 앞쪽에 추가
arr.unshift('D');
// arr = ['D', 'A', 'B', 'C']

3. Array.splice("위치",0,["요소1","요소2" …])

var arr = ['A', 'B', 'C'];

// index 2 ('C')의 위치에 요소를 추가
arr.splice(2, 0, 'D'); 
// arr = ['A', 'B', 'D', 'C']

// index 4의 위치에 2개의 요소를 추가
arr.splice(4, 0, 'E', 'F'); 
// arr = ['A', 'B', 'D', 'C', 'E', 'F']

 

배열 삭제

1. Array.pop() - 배열의 마지막 삭제

var arr = ['A', 'B', 'C', 'E', 'F'];

// 배열의 마지막 제거
arr.pop(); 
// arr = ['A', 'B', 'C', 'E']

// 제거한 요소를 반환 받을 수 있음
var delPop = arr.pop();
// arr = ['A', 'B', 'C']

console(delPop)
// delPop = 'E'

2. Array.shift() - 배열의 첫번째 요소 제거

var arr = ['A', 'B', 'C', 'E', 'F'];

// 배열의 첫번째 요소를 제거
arr.shift(); 
// arr = ['B', 'C', 'E', 'F']

// 제거한 요소를 반환 받을 수 있음
var delShift = arr.shift();
// arr = ['C', 'E', 'F']

console(delShift)
// delShift = 'B'

3.Array.splice - ("시작위치","제거개수")

var arr = ['A', 'B', 'C', 'E', 'F'];

// index 2 부터 1개의 요소('C')를 제거
arr.splice(2, 1); 
// arr = ['A', 'B', 'E', 'F']

// index 1 부터 2개의 요소('B', 'E')를 제거
arr.splice(1, 2); 
// arr = ['A', 'F']

// 제거한 요소를 반환 받을 수 있음
var delRemoved = arr.splice(1, 1);
// arr = ['A']

console.log(delRemoved)
// delRemoved = 'F'
반응형
SMALL

'공부 > JS & JQuery' 카테고리의 다른 글

[JavaScript] 자바스크립트 Map 함수  (0) 2022.11.06
[JQuery] 달력 만들기  (2) 2022.09.25
[JavaScript] 자바스크립트 배열(Array) 생성  (0) 2022.09.15
728x90

자바스크립트 배열 생성 방법

1. [ ]를 사용하여 만드는 방법

2. Array() 생성자를 이용하여 배열을 생성하는 방법

 

1. [ ]를 사용하여 만드는 방법

 

//배열 생성(비어있는 배열)

let arr = [];

arr[0] = 'A';
arr[1] = 'B';
arr[2] = 'C';

for(let i = 0; i <arr.length; i++){
    console.log(arr[i]);
}

 

//배열 생성 (초기 값 할당)
let arr = ['A', 'B', 'C'];

for(let i = 0; i <arr.length; i++){
    console.log(arr[i]);
}

 

// 배열 생성 (배열 크기 지정)
// 쉼표 개수만큼 크기 지정

let arr = [,,,,];

for(let i = 0; i < arr.length; i++){
    console.log(arr[i]);
}

//값이 할당되어 있지 않아서 undefined로 출력

 

2. Array() 생성자를 이용하여 배열을 생성하는 방법

 

//배열 생성 (비어있는 배열)

let arr = new Array();

arr[0] = 'A';
arr[1] = 'B';
arr[2] = 'C';

for(let i = 0; i <arr.length; i++){
    console.log(arr[i]);
}​

 

//배열 생성 (초기 값 할당)
let arr = new Array('A', 'B', 'C');

for(let i = 0; i <arr.length; i++){
    console.log(arr[i]);
}

 

// 배열 생성 (배열 크기 지정)

let arr = new Array(4);

for(let i = 0; i < arr.length; i++){
    console.log(arr[i]);
}

//값이 할당되어 있지 않아서 undefined로 출력

 

자바스크립트 배열만의 특징

배열 내부의 데이터 타입이 서로 다를 수 있다.

배열의 크기는 동적으로 변경될 수 있다.

//배열 내부의 데이터 타입이 서로 다를 수 있다.
var arr = [1234, 'text', true];

//배열의 크기는 동적으로 변경될 수 있다.
var arr = [1234, 'text', true];

//배열의 길이를 변경하여 크기 변경(3->4)
//값이 할당되지 않고 길이만 추가되었기때문에 undefind로 추가
arr.length = 4;

//새로운 배열을 추가하면 자동으로 변경(4->5)
arr[4] = 'sky';

//새로운 배열을 추가하여 크기 변경(5->6)
arr.push('sea');

for(let i = 0; i<arr.length; i++){
    console.log(arr[i]);
}

//출력 결과
1234
text
true
undefined
sky
sea

자바스크립트의 배열은 변수 외에도 객체와 함수도 담을 수 있고, 배열이 생성 되어도 임의로 크기가 변경이 가능하기때문에 자유롭게 사용할 수 있지만 사용 시 많은 주의를 기울여야할 필요가 있습니다.

 

반응형
SMALL
728x90

Position

postion

 

HTML에서는 static 포지션이 기본값으로 되어있습니다.

static 포지션은 HTML이 작성된 순서대로 나열이 되어 있는 형태를 의미하며,

포지션의 종류에는 크게 static,relative,absolute,fixed 4개의 값이 있습니다.

 

position : static 기준이 따로 없음
position : relative 기준이 자기 자신
position : absolute 기준이 부모
position : fixed  기준이 브라우저 창

relative

relatives는 별도의 위치값을 지정하지 않으면 static과 다르지 않은 결과를 보여줍니다.

해당 요소가 기본적으로 표시된 위치에서 top,rigth,bottom,left를 지정하면 표시된 위치에서 좌표가 변경됩니다.

해당 요소가 붕 떠서 독립적으로 자유롭게 이동하는 것처럼 보입니다.

 

absolute

absolute는 기본적으로 표시된 위치에서 이동하는 것이 아니라, 가장 가까운 부모 엘리먼트를 기준으로 위치가 지정된다고 보면된다. 일반적으로 부모는 relatives 속성값을 부여하며, 기준으로 삼을만한 부모 엘리먼트가 없다면 document body를 기준을로 잡습니다. 부모 중에 position이 static으로 지정되지 않은 엘리먼트를 기준으로 지정된다고 보면 됩니다.

 

absolute 속성을 부여한 요소는 가운데 정렬이 풀리기 때문에 가운데 정렬을 하고 싶다면 아래와 같은 속성을 추가해주면 됩니다.

.button {
  position : absolute; 
  width : 자신이 원하는 크기
  left : 0;
  right : 0; 
  margin : 0 auto;
}

fixed

fixed는 브라우저기준으로 위치가 지정됩니다. 페이지가 스크롤이 되더라도 항상 그 위치에 고정이 되어있으며,

스크롤을 하더라도 어느 한 위치에 고정을 하고 싶을때 사용합니다.

 

반응형
SMALL

+ Recent posts