-

javascript::배열 본문

언어/javascript

javascript::배열

lingi04 2018. 1. 4. 00:48

# 배열은 자바스크립트 객체의 특별한 형태.

- C나 JAVA와 배열과 같은 기능을 하는 객체지만,

- 크기 지정 X, 데이터 타입 상관없음.


## 배열 리터럴

- 새로운 배열을 만드는 데 사용하는 표기법.

- 대괄호를 사용

1
2
3
4
var colorArr = ['orange''yellow''blue''green''red'];
console.log(colorArr[0]); //(출력값) orange
console.log(colorArr[1]); //(출력값) yellow
console.log(colorArr[2]); //(출력값) red

cs

배열 내 위치 인덱스값을 넣어서 접근.

인덱스 0부터 시작

- 객체와 같이 동적으로 배열 원소를 추가할 수 있다.

- 값을 순차적으로 넣을 필요 없다.

1
2
3
4
5
6
7
8
9
10
var emptyArr = []; //빈 배열 생성
console.log(emptyArr[0]); //(출력값) undefined
 
//배열 요소 동적 생성
emptyArr[0= 100;
emptyArr[3= 'eight'
emptyArr[7= true;
console.log(emptyArr);
    //(출력값) [100, undefined, undefined, "eight", undefined, undefined undefined, true]
console.log(emptyArr.length); //(출력값) 8
cs


## 배열의 length 프로퍼티

- javascript의 모든 배열은 length 프로퍼티가 있다.

- 배열의 length와 배열의 원소 개수가 일치하는 것은 아니다.(바로 위의 예제 코드에서 확인 가능)

- length프로퍼티는 배열 내에 가장 큰 인덱스에 1을 더한 값.

- 배열의 length를 명시적으로 설정하는 경우 실제 메모리는 length만큼 늘어나지는 않는다.


## 배열과 객체

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
var colorsArr = ['orange''yellow''green'];
console.log(colorsArr[0]); //(출력값) orange
console.log(colorsArr[1]); //(출력값) yellow
console.log(colorsArr[2]); //(출력값) green
 
var colorsObj = {
    '0''orange',
    '1''yellow',
    '2''green'
};
 
console.log(colorsObj[0]); //(출력값) orange
console.log(colorsObj[1]); //(출력값) yellow
console.log(colorsObj[2]); //(출력값) green
 
 
//typeof 연산자 비교
console.log(typeof colorsArr); //(출력값) object (array가 아니다.)
console.log(typeof colorsObj); //(출력값) object
 
//length 프로퍼티 비교
console.log(colorsArr.length); //(출력값) 3
console.log(colorsObj.length); //(출력값) undefined
 
//배열 표준 메서드
colorsArr.push('red');
colorsObj.push('red'); // 오류
cs

 

## 배열의 프로퍼티 동적 생성

- 배열도 자바스크립트 객체이므로, 인덱스가 숫자인 배열 원소 이외에도 객체처럼 동적으로 프로퍼티를 추가할 수 있다.

- 배열에 동적 프로퍼티가 추가될 경우, 배열의 length 값이 바뀌지 않는다.(증가하지 않는다.)

- 일반 객체처럼 'key: value' 형태로 배열 원소 및 프로퍼티 등이 있다.



##Array() 생성자 함수

- 일반적인 생성방법인 배열 리터럴도 결국 자바스크립트 기본 제공 Array()생성자함수로 배열을 생성하는 과정을 단순화시킨 것이다.

- 간단히 알아두기만 하면 될 것 같다.

- 사용법?

호출할 때 인자 개수에 따라 동작이 다르다.

* 호출할 때 인자가 1개이고, 숫자일 경우 : 호출된 인자를 length로 갖는 빈 배열 생성

* 그 외의 경우 : 호출된 인자를 요소로 갖는 배열 생성











'언어 > javascript' 카테고리의 다른 글

javascript:: ==(동등)연산자와 ===(일치) 연산자  (0) 2018.01.04
javascript::유사배열객체  (0) 2018.01.04
javascript::객체  (0) 2018.01.03
javascript :: prototype  (0) 2018.01.02
javascript의 핵심 개념  (0) 2017.12.26
Comments