Chapter5. 배열

자바스크립트 배열의 특징

  1. 배열 요소의 타입이 고정되어 있지 않으므로, 하나의 배열에 여러 요소의 타입이 들어갈수있다.

  2. 배열 요소의 인덱스가 연속적이지 않아도 된다. 따라서 특정 배열 요소가 비어있을 수 있다.

  3. 배열은 Array 객체로 다뤄진다.

    • 따라서 생성한 배열은 다양한 메서드를 사용할 수 있다.

배열의 생성

1. var arr = [배열요소1, 배열요소2,...];          // 배열 리터럴을 이용하는 방법jj
2. var arr = Array(배열요소1, 배열요소2,...);     // Array 객체의 생성자를 이용하는 방법
3. var arr = new Array(배열요소1, 배열요소2,...); // new 연산자를 이용한 Array 객체 생성 방법

배열에 요소 추가

  • push 메서드

  • array[idx] = val

    • 배열의 마지막의 뒤가 아닌 한참 뒤에도 넣을 수 있다.

    • 가능한 이유는 위의 특징에서 말한 배열 요소의 인덱스가 연속적이지 않아도 된다 덕분

    • a = [1, 2, 3]
      a.length // 3
      a.push(4) // a = [1,2,3,4]
      a[100] = 100 // a = [1, 2, 3, 4, empty * 96 , 100]
      a.length // 101

배열의 순회

  • for in 이 아닌 for of 를 사용해라

희소 배열

  • 희소 배열이란 배열에 속한 요소의 위치가 연속적이지 않은 배열을 의미함.

  • var arr = new Array()
    arr[999] = 'haha'

다차원 배열

  • 배열 요소가 또 다른 배열인 요소

  • 그동안 C에서 사용했던 이차원 배열이라 생각하면 된다.

연관 배열(associative array)

쓸모 없는 놈임. Map이 나왔음

  • 배열의 인덱스로 숫ㅈ자가 아닌 문자열로 된 key를 사용할 수 있다.

  • 이런 배열을 연관 배열 이라고 한다.

  • 연관 배열은 Array 객체가 아닌 기본 객체로 보기 때문에 엄밀히 말하면 배열이 아니다