본문 바로가기
Javascript

[Javascript] 배열(1)

by 기리의 개발로그 2022. 6. 29.

배열

배열은 여러 개의 값을 순차적으로 저장할 때 사용한다. 자바스크립트의 배열은 객체이다.

  • 대괄호[]를 사용하여 표현하며 어떤 종류의 자료형도 배열의 요소가 될 수 있다.
  • 배열의 인덱스를 통해 값을 확인할 수 있다.

생성

배열을 만드는 방법은 다음과 같이 2가지 방법이 있다.

  • 배열 리터럴

  • Array() 생성자 함수


배열 리터럴

var array = [273, 'String', true, function() {}, {}, [1,2]]

console.log(array[0]);   // 273
console.log(array[1]);   // 'String'
console.log(array[2]);   // true
console.log(array[3]);   // function() { }
console.log(array[4]);   // [object Object]
console.log(array[5]);   // [1, 2]
console.log(array.length);   // 6

Array() 생성자 함수

매개변수가 숫자이면서 1개인 경우, 매개변수 값을 length로 하는 빈 배열이 생성된다.
그 외의 경우는 매개변수로 전달된 값을 요소로 가지는 배열이 생성된다.

var arr = new Array('arr1');
console.log(arr);   // ['arr1']

var arr = new Array('arr1', 'arr2', 'arr3');
console.log(arr);   // ['arr1', 'arr2', 'arr3']

var arr = new Array(2);
console.log(arr);   // [,]

var arr = new Array(1,2,3);
console.log(arr);   // [1, 2, 3]

요소 추가/삭제

인덱스를 사용하여 동적으로 요소를 추가할 수 있다. 단, 인덱스 순서에 맞게 추가할 필요 없이 필요한 위치에 값을 할당하여 추가할 수 있다. 배열의 길이는 마지막 인덱스를 기준으로 정해진다.

var arr = [];
arr[1] = 1;
arr[4] = 4;

console.loge(arr[0])   // undefined
console.log(arr);   // [, 1, , , 4]
console.log(arr.length);   // 5

요소를 삭제할 때에는 delete 연산자를 이용한다. 이 때 배열의 length에는 변함이 없다. 요소를 완전히 삭제(length 반영)하기 위해서는 splice 메소드를 사용한다.

var arr = [1,2,3,4,5];

console.log(arr);   // [1, 2, 3, 4, 5]
console.log(arr.length);   // 5

delete arr[0];
console.log(arr);   // [, 2, 3, 4, 5]
console.log(arr.length);   // 5

요소 접근

인덱스를 통해 배열의 요소 값을 가져올 수 있다.

function get_member() {
    return ['yang', 'sang', 'gil'];
}

var member;
member = get_member();

for(i=0; i<member.length; i++) {
    console.log(member[i].toUpperCase());
}
YANG
SANG
GIl

배열 프로퍼티

기본적으로 제공되는 배열 프로퍼티이다.

length

요소의 개수(배열의 길이)를 의미한다.

var array = ['a', 'b', 'c', 'd', 'e'];
console.log(array.length);  // 5
반응형

'Javascript' 카테고리의 다른 글

[Javascript] 함수(1)  (3) 2022.07.15
[Javascript] 배열(2)  (5) 2022.07.06
[Javascript] 객체  (3) 2022.06.28
[Javascript] 반복문  (5) 2022.06.17
[Javascript] 조건문  (7) 2022.06.13

댓글