[JAVASCRIPT LEVEL1] 13. 배열

유지원·2021년 6월 3일
1

JAVASCRIPT LEVEL1

목록 보기
13/19
post-thumbnail

이 포스팅은 '러닝 자바스크립트'를 보며 공부한 내용입니다.

배열

유용한 메서드를 많이 가진 강력한 데이터 타입.
일반적인 객체와 달리 배열 콘텐츠에는 항상 순서가 있고, 키는 순차적인 숫자.

자바스크립트 배열은 특수한 객체.

  • C언어의 효율적인 배열indexed array과 더 강력한 동적 배열인 링크드 리스트linked list를 혼합한 것.
  • ✔️ 배열 크기가 고정되지 않음. ➜ 언제든 요소를 추가하거나 제거할 수 있습니다.
  • ✔️ 요소의 데이터 타입을 가리지 않음. ➜ 문자열만 쓸 수 있는 배열, 숫자만 쓸 수 있는 배열 같은 개념이 없습니다.
  • ✔️ 배열 요소는 0으로 시작.

배열은 기능이 추가된 특수한 객체이므로 배열에 숫자가 아닌 키나 분수, 음수 등을 키로 사용은 가능하나, 배열의 설계 목적에 어긋날 뿐만 아니라 혼란스러운 동작과 찾기 어려운 버그를 초래할 수 있으므로 피해야 합니다.


자바스크립트의 배열 리터럴은 대괄호 안에 배열 요소를 쉼표로 구분해서 사용.

const a1 = [1, 2, 3, 4];               // 숫자로 구성된 배열.
const a2 = [1, 'two', 3, null];        // 여러 가지 타입으로 구성된 배열.
const a3 = [                           // 여러 줄로 정의한 배열
  "What the hanner? What the chain?",
  "In what furnace was thy brain?",
  "What the anvil? What dread grasp",
  "Dare its deadly terrors clasp?",
];
const a4 = [                           // 객체가 들어있는 배열
  { name: "Ruby", hardness: 9 },
  { name: "Diamond", hardness: 10 },
  { name: "Topaz", hardness: 8 },
];
const a5 = [                           // 배열이 들어있는 배열
  [1, 3, 5],
  [2, 4, 6],
];

배열의 length 프로퍼티 : 요소 숫자를 반환.

const arr = ['a', 'b', 'c'];
arr.length;                         // 3

배열 요소에 접근할 때 : 대괄호 안에 요소의 인덱스 숫자.

const arr = ['a', 'b', 'c'];

// 첫번째 요소 가져오기.
arr[0];                                    // 'a'
// arr의 마지막 요소의 인텍스는 arr.length-1.
arr[arr.length - 1];                       // 'c'

배열 요소의 값을 덮어쓸 때 : 새 값을 할당하면 됨.
할당할 때 배열 길이나 그보다 큰 인덱스를 사용하면 배열 크기가 그에 맞게 늘어납니다.

const arr = [1, 2, 'c', 4, 5];
arr[2] = 3;                         // arr은 이제 [1, 2, 3, 4, 5].
profile
👋 https://github.com/ujw0712

0개의 댓글