[JavaScript] 자바스크립트 배열(Array)의 기본

MinJae·2024년 9월 23일

Javascript

목록 보기
10/15

배열이란 ?

배열은 여러 개의 값을 순차적으로 나열한 자료구조이며, 사용 빈도가 매우 높습니다. 자바스크립트는 배열을 다루기 위한 유용한 메서드를 다수 제공합니다.

배열이 가지고 있는 값을 요소라고 부릅니다. 각 요소는 배열에서 자신의 위치를 나타내는 0 이상의 정수인 인덱스를 갖습니다.

const arr = ['apple', 'banana', 'orange'];

arr[0] // 'apple'
arr[1] // 'banana'
arr[2] // 'orange'

배열은 요소의 개수를 나타내는 length 프로퍼티를 가지고 있습니다. 이 프로퍼티를 통해 배열의 길이를 쉽게 확인할 수 있습니다.

배열은 동적으로 크기가 변하며, 객체처럼 동작하는 특성을 가지고 있습니다. 배열 리터럴 외에도 Array() 생성자를 사용하여 배열을 만들 수 있습니다.

const arr1 = new Array(3); // 길이가 3인 빈 배열 생성
const arr2 = new Array('apple', 'banana', 'orange'); // 요소가 있는 배열 생성
console.log(arr1.length); // 3
console.log(arr2.length); // 3

Array() 생성자는 매개변수로 숫자를 받으면 해당 크기의 빈 배열을 생성하고, 숫자가 아닌 값을 받으면 요소가 있는 배열을 생성합니다.

length 프로퍼티와 희소 배열

💡희소 배열 : 배열의 요소가 연속적으로 이어져 있지 않는 배열

length 프로퍼티는 요소의 개수, 즉 배열의 길이를 나타내는 0 이상의 정수를 값으로 갖습니다. 빈 배열일 경우 length는 0이며, 빈 배열이 아닐 경우 가장 큰 인덱스에 1을 더한 값과 동일합니다.

const arr = ['apple', 'banana', 'orange'];

console.log(arr.length); // 3

length 프로퍼티의 값은 배열의 요소를 추가하거나 삭제하면 자동으로 갱신됩니다.

// 요소 추가
arr.push('mango');

console.log(arr.length); // 4

// 요소 삭제
arr.pop();

console.log(arr.length); // 3

배열 중간에 비어 있는 인덱스가 있을 경우, 이를 희소 배열(sparse array)라고 부릅니다. 희소 배열에서 빈 공간은 undefined로 취급됩니다.

const sparseArr = [1,,3]; // 희소 배열

console.log(sparseArr.length); // 3
console.log(sparseArr[1]); // undefined

이러한 배열은 메모리 상에 효율적이지 않으므로 주의해서 사용해야 합니다.


✅ 참고

  • MDN.Array
  • 모던 자바스크립트 Deep Dive
profile
고양이 간식 사줄려고 개발하는 사람

0개의 댓글