호다닥

Array / Date - Codeit 본문

Javascript

Array / Date - Codeit

3jun 2018. 9. 30. 13:46

Array

배열의 길이

length 속성은 배열의 길이를 담고 있다.

var brands = ['Apple', 'Coca-Cola', 'Starbucks'];
console.log(brands.length);
3

 

배열에서 특정 값 찾기

문자열에서 썻던 indexOf가 배열에서도 똑같이 동작한다. array.indexOf(item) 을 하면 array 배열에 item이 포함되어 있는지 확인 할 수 있다.

 

만약 포함되어 있다면 item이 있는 인덱스가 리턴된다.

포함되어 있지 않다면 -1이 리턴된다.

여러번 포함되어 있으면 처음 발견된 인덱스가 리턴된다.

 

var brands = ['Apple', 'Coca-Cola', 'Starbucks'];
console.log(brands.indexOf('Starbucks'));
console.log(brands.indexOf('Kakao'));
2
-1

 

 

배열에 값 추가

array.push(item1) 을 하면 item1이 array 배열의 끝에 추가된다.

 

array.push(item1, item2, item3) 을 하면 item1, item2, item3이 array 배열의 끝에 순서대로 추가된다.

var brands = ['Apple', 'Coca-Cola', 'Starbucks'];

brands.push('Kakao');
console.log(brands);

brands.push('Samsung', 'LG', 'Facebook');
console.log(brands);
['Apple', 'Coca-Cola', 'Starbucks', 'Kakao']
['Apple', 'Coca-Cola', 'Starbucks', 'Kakao', 'Samsung', 'LG', 'Facebook']

 

 

배열에서 값 빼기

array.pop() 을 하면 배열 array에서 마지막 요소가 배열에서 빠지고, 그 마지막 요소가 리턴된다.

var brands = ['Apple', 'Coca-Cola', 'Starbucks'];

var lastBrand = brands.pop();

console.log(lastBrand);
console.log(brands);
Starbucks
['Apple', 'Coca-Cola']

 

 

배열을 문자열로 바꾸기

array.join() 을 하면 array 배열을 하나의 문자열로 변환한다.

var brands = ['Apple', 'Coca-Cola', 'Starbucks'];
console.log(brands.join());
Apple,Coca-Cola,Starbucks

만약 값들 사이에 들어가는 쉼표가 마음에 들지 않으면, 파라미터로 쉼표를 대체할 문자열을 넣어주면 된다.

var brands = ['Apple', 'Coca-Cola', 'Starbucks'];
console.log(brands.join('###'));
Apple###Coca-Cola###Starbucks

 

 

 

 

Date

날짜와 관련된 프로그램을 짜고 싶으면 Date 객체를 활용하면 된다.

 

객체 만들기

우선 객체를 만들어야 활용을 할 수 있는데, 객체를 만드는 데에는 2가지 방법이 있다.

 

1. 현재 날짜로 설정

파라미터 없이 new Date() 를 하면 현재 날짜로 설정되어 있는 Date 객체가 생성되어 리턴된다.

var date = new Date();

 

2. 원하는 날짜로 설정

파라미터를 써주면 원하는 날짜로 설정할 수 있다. 만약 날짜만 쓸 경우, 0시 0분 0초로 지정된다.

// 1988년 6월 11일 5시 25분 30초
var date1 = new Date('June 11, 1988 05:25:30');
var date2 = new Date('1988-06-11T05:25:30');

// 1999년 12월 15일 (날짜만)
var date3 = new Date('1999-12-15');
var date4 = new Date('12/15/1999');
var date5 = new Date('December 15 1999');
var date6 = new Date('Dec 15 1999');

 

 

날짜 정보 받아오기

이제 Date 객체의 메소드들을 활용하면 된다.

var date = new Date('June 11, 1988 05:25:30');

console.log(date.getFullYear());
console.log(date.getMonth());
console.log(date.getDate());
console.log(date.getDay());
console.log(date.getHours());
console.log(date.getMinutes());
console.log(date.getSeconds());
console.log(date.getMilliseconds());
console.log(date.toString());
console.log(date.toLocaleString());
console.log(date.toLocaleDateString());
console.log(date.toLocaleTimeString());
1988
5
11
6
5
25
30
0
Sat Jun 11 1988 05:25:30 GMT+1000 (KDT)
6/11/1988, 5:25:30 AM
6/11/1988
5:25:30 AM

 

getTime() 메서드는 1970년 1월 1일 자정으로부터 몇 ms가 지났는지 알려준다.

var date = new Date('June 11, 1988 05:25:30');
console.log(date.getTime());
581973930000

이 ms 값에 나눗셈을 적절히 사용하면 초, 분, 시, 일 등의 단위로 변환할 수 있다.

var date = new Date('June 11, 1988 05:25:30');
console.log(date.getTime() + 'ms');
console.log(date.getTime()/1000 + '초');
console.log(date.getTime()/1000/60 + '분');
console.log(date.getTime()/1000/60/60 + '시간');
581973930000ms
581973930초
9699565.5분
161659.425시간

 

주의사항

getMonth() 의 경우 0부터 시작하기 때문에 2는 3월을 의미한다.
getDay()는 날짜가 아니라 요일을 리턴해주고 일요일인 0부터 시작해서 3은 수요일을 의미한다.

 

Comments