2차_1주차_이서연_회고록 (27장) - seoyeon0311/Docs-JS_deepDive_Study GitHub Wiki

27장 배열

배열

  • 배열은 순서 있는 요소의 집합
  • 각 요소는 인덱스를 통해 접근 가능 (0부터 시작)
  • 배열은 객체이며, length 프로퍼티를 가짐

배열의 종류

  • 밀집 배열 (Dense Array): 연속된 인덱스를 가짐
  • 희소 배열 (Sparse Array): 일부 인덱스가 비어 있음 (undefined 아님)

배열 생성 방법

// 배열 리터럴
const arr = [1, 2, 3];

// Array 생성자
const arr1 = new Array(3);         // 길이 3 빈 배열
const arr2 = new Array(1, 2, 3);   // [1, 2, 3]

// Array.of
const arr3 = Array.of(3);          // [3]

// Array.from
const arr4 = Array.from('hi');     // ['h', 'i']

배열 요소 접근 및 조작

  • 인덱스로 요소 접근: arr[0]
  • 요소 추가: arr[3] = 4
  • 요소 삭제: delete arr[1] (희소 배열 주의)
  • 요소 제거 및 재정렬: arr.splice(1, 1)

배열 메서드

변경 메서드 (원본 배열 변경)

push, pop, shift, unshift, splice, reverse, fill

비변경 메서드 (새 배열 반환)

concat, slice, join, flat

검색 관련

indexOf, includes

타입 확인

Array.isArray(value)


배열 고차 함수

forEach: 콜백 함수 실행

map: 변형하여 새 배열

filter: 조건 만족 요소만 새 배열로 반환

reduce: 누적 계산 -> 배열을 하나의 값으로 줄임

some: 하나라도 조건 만족

every: 모두 조건 만족

find: 조건 만족 첫 요소 반환

findIndex: 조건 만족 첫 인덱스 반환

flatMap: map 후 flat 수행


회고

솔직히 이해하기 너무 어려웠다!!! 이해할 것도 많고 상황에 따라서 사용하는 것이 달라지다 보니 고차함수에 대해서 깊게 이해할 필요성을 느꼈다...앞으로는 좀 더 시간을 길게 잡고 깊게 공부를 하는 것이 좋을 거 같다.