배열(array)

  • 여러 개의 ‘데이터’를 담는 특별한 변수인덱스 번호로 관리. 배열은 가변적이다.

    • 여러 데이터를 모아 놓은 하나의 덩어리
      • 변수 == 하나의 데이터 값 저장 공간
      • 배열 == 여러 데이터 값 저장 공간
    • 배열에 저장된 하나의 데이터 == 원소

    • 각 원소는 0~n-1의 인덱스로 구분
      • [0, 1, 2, 4] <- 배열 작성 방식.
      • 인덱스 번호 0 1 2 3 (인덱스 번호는 0부터 시작)


  • 배열 생성 방법
    • 배열 리터럴(array literal) : 배열 변수에 초깃값을 할당(대괄호 []를 사용)하여 배열을 만드는 방법 (배열은 0개 이상의 원소를 가짐)
    • 배열 객체(object) : Array 생성자를 이용하여 배열 객체 생성


배열 생성 방법


1. 배열 리터럴(array literal)로 생성하기

배열 리터럴 대괄호([ ]) 를 사용하여 만드는 방법

// 배열 변수에 초깃값을 할당하여 배열 생성
var arr = [1234, 'one', true];

// 배열 변수 먼저 선언하고 원소 값은 따로 할당
var arr1 = [];
arr1[0] = "토끼";   //인덱스 0에 원소 할당
arr1[1] = 3;    //인덱스 1에 원소 할당
arr1[2] = "밀크티"; //인덱스 2에 원소 할당

console.log(arr1);  //Array(3). 0:"토끼". 1:3. 2:"밀크티". length: 3.

// 배열에 공백 데이터 넣기
var arr2 = [1, , 3, , 5]; //공백 리터럴 포함

console.log(arr2[1]); //undefined
  • 배열명 : arr, arr1, arr2
  • 배열 크기(length) : 원소 개수
  • 배열 리터럴 : 대괄호([])
  • 배열 원소 : 대괄호([]) 속 데이터 값들
  • 각 원소들의 인덱스 : 0 ~ n-1


  • 배열 내부에는 다양한 데이터 타입이 들어갈 수 있음
  • 배열에 저장될 원소 개수를 모를 경우 var arr1=[];와 같이 선언.
    • 배열의 크기는 배열에 저장되는 개수만큼 자동 설정
  • 배열은 명시되지 않은 원솟값을 undefined 처리
    • 공백 데이터가 있는 배열을 연산할 경우. 출력 결과가 제대로 나오지 않음
      • 제어문을 사용하여 공백 데이터 제외하여 처리하기 ex. if(com[i] === undefined) {continue;}


let arr1 = [1, 2, 3];//인덱스0:1, 인덱스1:2, 인덱스2:3.
let arr2 = [1, "string", true, function(){}, arr1, null, undefined];//숫자, 문자열, 논리, 함수, 변수, null, undefined ..

console.log(arr1);//Array(3). 0: 1. 1: 2. 2:3. length: 3.
console.log(arr2);//Array(7). 0: 1. 1: "string". 2: true. 3: f(). 4: (3)[1, 2, 3]. 5: null. 6: undefined. length: 7.
console.log(arr2[1]);//배열 요소 중 인덱스 번호 1 출력(string)
console.log(arr2[4]);//배열 요소 중 인덱스 번호 4 출력(arr1:[1,2,3])

arr1[0] = "문자열";//변수 arr1의 인덱스 번호0의 숫자를 "문자열"로 변경.
console.log(arr1); //Array(3). 0: "문자열". 1: 2. 2: 3. length: 3.
console.log(arr1[3]);//undefined
arr1[3]=4;
console.log(arr1); //Arrau(4). 0: "문자열". 1: 2. 2: 3. 3: 4. length: 4.
console.log(arr1.length);//.length 배열에 저장된 요소의 수.(변수명에 붙여 쓸 때) 4
console.log(arr2[1].length);//해당 인덱스 번호의 글자 수 출력.(요소 뒤에 붙여 쓸 때) 6(s,t,r,i,n,g)


2. 배열 객체(object)로 생성하기

Array 생성자를 이용하여 배열 객체(object) 만들기. new 연산자 사용

var arr1 = new Array("Seoul", "Daegu", "Busan"); //초깃값 할당한 arr1 배열 생성
let arr2 = new Array();//빈 배열 선언.
let arr3 = new Array(5);//5개의 요소 없는 배열 선언. arr3 = [ , , , , ]
}