📖 배열(Array)

정의: 여러 개의 값을 순차적으로 나열한 자료구조

const arr = [1, 2, 3]
  • 배열은 객체이다.
  • index와 값(value)를 연결(매칭)하는 dictionary 형태이다.
  • 요소(element): 배열이 가지고 있는 값 - 대괄호([ ])안의 0, 1, 2를 의미한다.
  • 인덱스(index): 배열의 요소는 배열에서 자신의 위치를 나타내는 0이상의 정수. (대부분 프로그래밍 언어에서 인덱스는 0부터 시작한다.)
  arr[0]; // 1
  arr[1]; // 2
  arr[2]; // 3

📍 length 프로퍼티

배열은 요소의 개수, 즉 배열의 길이를 나타내는 length 프로퍼티를 가지고 있다. 배열에서 가장 높은 인덱스를 추적한다.

const arr = [1, 2, 3]

arr.length // 3

// 9번째 인덱스에 값을 넣을 경우
arr[9] = undefined; // undefined
arr.lenthg; // 10, [1, 2, 3, <6 empty items>, 10]

// 배열의 length를 늘린 경우
arr.length = 20; // 20
arr.length; // 20, [1, 2, 3, <6 empty items>, 10, <10 empty items>]

// 배열 초기화
arr.length = 0; // 0
arr; // []

📍 배열 메소드

const squidMembers = ['기훈', '상우', '일남', '주호', '새벽', '알리'];

// push - 배열의 마지막에 요소로 추가
squidMembers.push('덕수');  // ['기훈', '상우', '일남', '주호', '새벽', '알리', '덕수']

// unshift - 배열의 앞에 요소 추가
squidMembers.unshift('미녀'); // '미녀', '기훈', '상우', '일남', '주호', '새벽', '알리', '덕수']

// shfit - 배열의 앞 요소 지우기
squidMembers.shift('미녀'); // unshift 반대, ['기훈', '상우', '일남', '주호', '새벽', '알리', '덕수']

// pop - 배열의 끝 요소 지우기
squidMembers.pop('덕수'); // push 반대, ['기훈', '상우', '일남', '주호', '새벽', '알리']

// indeOf - 배열에서 요소의 인덱스 찾기
squidMembers.indexOf('현석'); // -1 (인덱스에 없다는 뜻 <-- 인덱스 는 0부터 시작)
squidMembers.indexOf('상우'); // 1
squidMembers.lastIndexOf('상우'); // 1 (배열 오른쪽 끝에서 왼쪽 방향으로 검색)

// includes - 배열의 요소 포함 여부 확인
squidMembers.includes('상우'); // true
squidMembers.includes('현석'); // false

// splice - 특정 인덱스 요소 지우기
squidMembers.splice(2, 1); // 2번째 인덱스 다음부터 1개 지움 -> ['일남'] 지워짐

0개의 댓글