Logo

자바스크립트 배열 기본 사용법

배열을 사용하는 이유?

3개의 과일 이름을 변수에 저장하려면 다음과 같이 3개의 변수를 사용할 것이다.

var fruit1 = "Apple";
var fruit2 = "Lemon";
var fruit3 = "Coconut";

하지만 만약에 저장한 과일 이름이 300개라면? 위와 같이 일일이 하나 하나의 변수에 저장하기 힘들 것이다. 배열을 이용하면 하나의 변수에 여러 가지 값을 저장할 수 있고, 색인(Index)을 통해 이 값에 접근할 수 있다.

새로운 배열 생성 하기

기본적으로 대괄호 기호인 배열 리터럴(literal)을 이용해서 배열을 생성한다. 배열 리터럴 내에서는 공백이나 줄바꿈은 중요하지 않으므로 각 엘리먼트의 길이기 길 경우 가독성을 위해 여러 줄로 배열을 생성하기도 한다.

// 새로운 배열 생성하기 1
var fruits = ["Apple", "Banana", "Coconut"];
// 새로운 배열 생성하기 2
var fruits = {
  "Apple",
  "Banana",
  "Coconut"
}

마지막 원소 뒤에는 쉼표를 찍지 않도록 주의한다. 직접 Array() 생성자를 통해서 배열을 생성하는 방법도 있는데 권장되지 않는다.

배열의 길이 알아내기

length 프로퍼티를 이용해서 배열의 길이를 알아낸다.

// 배열의 길이 알아내기
console.log(fruits.length);

배열의 원소에 개별 접근하기

인덱스(index)라고 부르는 색인 번호를 통해서 배열 내 원소에 접근할 수 있다. 인덱스는 1이 아닌 0부터 시작하며, 마지막 인덱스는 배열의 크기보다 1 작다. 해당 인덱스에 값이 비어있을 경우, undefined가 반환된다.

// 배열의 원소에 개별 접근하기
var fruit1 = fruits[0];
var fruit2 = fruits[1];
var fruit3 = fruits[2];
var fruit3 = fruits[3]; // undefined

배열의 원소를 변경하기

인덱스를 통해서 배열 내 원소에 저장된 값을 변경할 수 있다.

fruits[1] = "Lemon"; // ["Apple", "Lemon", "Coconut"]

배열에 새로운 원소를 추가하기

push 메서드를 이용해서 새로운 원소를 추가할 수 있다. length 프로퍼티를 이용해서 추가할 수도 있지만 권장되지 않는다.

// 배열에 새로운 원소 추가하기 1
fruits.push("Orange"); // ["Apple", "Banana", "Coconut", "Orange"]
fruits.push("Strawberry"); // ["Apple", "Banana", "Coconut", "Orange", "Strawberry"]

// 배열에 새로운 원소 추가하기 2
fruits[fruits.length] = "Melon"; // ["Apple", "Banana", "Coconut", "Orange", "Strawberry", "Melon"]

배열의 원소가 될 수 있는 것들

배열의 원소는 문자열 뿐만 아니라 숫자, 불리언(true/false)을 사용할 수 있으며, 함수나 객체, 그리고 또 다른 배열이 될 수도 있다. 또한 하나의 배열에 다른 종류의 데이터를 섞어서 저장할 수도 있다.

var objects = [];
// number
objects[0] = 1000;
// boolean
objects[1] = true;
// string
objects[2] = "test";
// function
objects[3] = function () {
  console.log("test");
};
// object
objects[4] = {
  name: "iPad",
  price: 800,
};
// array
objects[5] = ["Apple", "Lemon", "Coconut"];

지금까지 배열의 기본 사용법에 대해서 알아보았다. 다음 포스팅에서 배열로 할 수 있는 일들에 대해서 알아보도록 하자.