티스토리 뷰

LANGUAGE/JAVA SCRIPT

[JAVA SCRIPT] ARRAY - 배열

진심스테이크 2018. 10. 11. 16:48

 

배열 : 서로 관련된 수많은 변수들을 묶어 하나의 이름으로 공유하고 일련번호에 의해 변수를 구분하는 방법

 

생성

1. 리터럴 : 배열에 들어가는 값들을 배열 선언과 함께 할당

2. Array 객체 : 실제 대이터 값이 없는 상태의 배열을 생성하고, 필요에 따라 값을 채워나가는 방식

3. 리터럴 + Array : 2가지를 혼합하여 하나의 문장으로 정의

//리터럴
var fruits = ["apple", "banana", "orange", "pear"];

//Array 객체
var friends = new Array(); //새로운 객체 생성
friends[1] = "홍길동";
friends[2] = "신사임당";
friends[3] = "이순신";

//리터럴 + Array
var colors = new Array("blue", "pink", "black", "white");

 

특징

1. 하나의 배열에 여러 종류의 자료형을 가진 데이터를 저장할 수 있다. 

 

2. 배열을 선언할 때 배열의 크기를 정의하지 않는다.

- 일반적으로 다른 언어에서는 배열의 크기를 지정하면 그 크기를 변경할 수 없다. 따라서, 배열의 크기 밖의 요소에 데이터를 할당하면 오류가 발생한다.

- 자바스크립트는 배열의 크기를 지정하지 않고 배열을 선언할 수 있고, 배열 크기 보다 큰 값을 할당하면 배열의 그기가 자동적으로 확대되어 그 값이 할당된다.

 

3. 자바스크립트는 인덱스 대신, 키(Key)를 이용하여 값을 할당할 수 있다.

 

4. 자바스크립트의 배열의 크기는 인덱스로 지정하여 값이 할당되어 저장된 곳까지이다.

- 일반적으로 배열의 크기를 벗어나면 오류가 나지만, 자바스크립트는 오류가 발생하지 않는다.

//배열 특징 1번
var userSpec = ["HongGilDong", 123, new Date(), false];
var userSpecs = new Array();
userSpecs[0] = "HongGilDong";
userSpecs[1] = 123;
userSpecs[2] = new Date();
userSpecs[3] = false;

//배열 특징 2번
var fruits = new Array(5);
var fruits = new Array(); 

//배열 특징 3번
var userName = new Array();
userName['friend'] = "홍길동";
userName['anotherName'] ="이순신";
userName['myName'] = "신사임당";

//배열 특징 4번
var friends = new Array(); //새로운 객체 생성
friends[0] = "홍길동";
friends[4] = "신사임당";
friends[9] = "이순신";

 

다차원 배열

//1차원 배열
var array = [100, 200, 300, 400];
var array = new Array();
array[0] = 100;
array[1] = 200;
array[2] = 300;
array[3] = 400;

//2차원 배열
var array = [[100, 200, 300, 400], [1100, 2200, 3300, 4400]];
var array[0][0] = 100;
var array[0][1] = 200;
var array[0][2] = 300;
...
var array[1][3] = 4400;

//3차원 배열 -> 논리적인 접근을 복잡하게 하기 때문에 많이 사용하지 않는다

 

 

'LANGUAGE > JAVA SCRIPT' 카테고리의 다른 글

[JAVA SCRIPT] OBJECT - 객체  (0) 2018.10.14
[JAVA SCRIPT] FUNCTION - 함수  (0) 2018.10.11
[JAVA SCRIPT] 자료형  (0) 2018.09.28
[JAVA SCRIPT] 이미지 자동 변경  (0) 2018.04.15
[JAVA SCRIPT] 회원가입 유효성 검사  (0) 2018.04.08
댓글