피드로 돌아가기
Array Methods in JS - Part 2
Dev.toDev.to
Frontend

O(n) 시간 복잡도 기반 JS Array Search Method의 전략적 선택 가이드

Array Methods in JS - Part 2

Annapoorani Kadhiravan2026년 6월 26일10beginner

Context

JavaScript 배열 내 특정 데이터 탐색 시 단순 인덱스 추출부터 복잡한 조건부 객체 검색까지 다양한 요구사항 발생. 단순 루프 구현의 중복성을 제거하고 표준 API를 통한 일관된 데이터 접근 방식 필요.

Technical Solution

  • Strict Equality(===) 기반의 값 비교를 통한 Primitive 데이터의 고속 탐색을 지원하는 indexOf 및 includes 적용
  • 역방향 탐색 필요 시 배열 Reverse 과정 없이 최신 상태를 추적하는 lastIndexOf 및 findLastIndex 구조 채택
  • 단순 값 비교의 한계를 극복하기 위해 Callback 함수를 활용한 Custom Condition 기반의 find 및 findIndex 설계
  • ES2023 표준 도입을 통한 뒤에서부터의 조건부 요소 검색 로직 최적화
  • 객체 배열 탐색 시 참조 값 비교의 특성을 고려한 Predicate 기반 검색 패턴 구현

1. 존재 여부 확인만 필요할 경우 indexOf의 -1 비교 대신 includes 사용 권장

2. 객체 배열 내 특정 속성 검색 시에는 반드시 find 또는 findIndex의 Callback 활용

3. 최신 상태의 데이터(최근 방문 페이지 등)를 추출할 때는 findLast 계열 API 검토

4. indexOf 사용 시 index 0이 false로 평가되는 JS Type Coercion 방지를 위해 !== -1 명시적 비교 수행

원문 읽기