[JavaScript 심화] 배열 메서드 (요소 순회 & 탐색)

2025. 11. 10. 22:27·React/JavaScript 심화
배열의 요소를 하나씩 돌아보거나(순회),
조건에 맞는 요소를 찾는(탐색) 메서드 정리

1. forEach()

배열의 모든 요소를 순회하면서 콜백 함수를 실행
let arr1 = [1, 2, 3];

arr1.forEach(function (item, idx, arr) {
  console.log(idx, item * 2);
});

let doubledArr = [];
arr1.forEach((item) => {
  doubledArr.push(item * 2);
});

console.log(doubledArr); // [2, 4, 6]
  • 콜백함수 인자: `(item, index, array)`
  • 항상 원본 배열의 길이만큼 실행
  • `return`값이 없으면? `undefined`
  • 새로운 배열을 만들고 싶다면 `map()`을 사용하는게 더 효율적

2. includes()

배열 안에 특정 값이 존재하는지 여부를 true/false로 반환
let arr2 = [1, 2, 3];
let isInclude = arr2.includes(3);

console.log(isInclude); // true
  • `===` 기준으로 판단
  • 문자열 포함 여부에도 사용 가능
console.log("Hello".includes("He")); // true
  • 객체 비교시 불가능 (참조 주소 다름)

3. indexOf()

배열에서 특정 값의 인덱스를 반환
값이 없으면 `-1`을 반환
let arr3 = [1, 2, 3, 4, 5];
let index = arr3.indexOf(4);
console.log(index); // 3

let objectArr = [{ name: "도서" }, { name: "이도서" }];
console.log(objectArr.indexOf({ name: "도서" })); // -1
  • 객체 비교는 주소로 이루어짐
  • `{ name: "도서"}`는 새로운 객체이기 때문에 배열 내부의 기존 객체와 같지 않다고 판단됨

4. findIndex()

조건을 만족하는 요소의 인덱스를 반환
없으면 `-1`
let arr4 = [1, 2, 3];

const findedIndex = arr4.findIndex((item) => {
  if (item == 2) return true;
});
console.log(findedIndex); // 1

const findedIndex1 = arr4.findIndex((item) => item % 2 !== 0);
console.log(findedIndex1); // 0

let objectArr1 = [{ name: "도서" }, { name: "이도서" }];
console.log(objectArr1.findIndex((item) => item.name === "도서")); // 0
  • `indexOf()`와 달리, 객체 내부 값까지 비교 가능 (콜백을 사용하므로)
  • 콜백이 true를 반환하는 순간 순회가 멈춤

5. find()

조건을 만족하는 요소 자체를 반환
없으면 `undefined`
let arr5 = [{ name: "도서" }, { name: "이도서" }];

const finded = arr5.find((item) => item.name === "도서");
console.log(finded); // { name: "도서" }
  • `finedIndex()`와 달리 요소 그 자체를 반환
  • 조건을 만족하는 첫 번째 요소만 반환

 

메서드 역할 반환값 원본 변경 특징
`forEach` 모든 요소 순회 없음 (`undefined`) ❌ 모든 요소에 함수 실행
`includes` 특정 값 존재 확인 true / false ❌ 단순 포함 여부 확인
`indexOf` 값의 위치 반환 인덱스 / -1 ❌ `===` 비교만 가능
`findIndex` 조건 만족 요소의 인덱스 반환 인덱스 / -1 ❌ 콜백 조건 기반
`find` 조건 만족 요소 반환 요소 / `undefined` ❌ 콜백 조건 기반, 첫 번째만 반환

'React > JavaScript 심화' 카테고리의 다른 글

[JavaScript 심화] Date 객체  (0) 2025.11.11
[JavaScript 심화] 배열 메서드 (배열 변형)  (0) 2025.11.10
[JavaScript 심화] 배열 메서드 (요소 조작)  (0) 2025.11.10
[JavaScript 심화] 순회 정리  (0) 2025.11.10
[JavaScript 심화] Spread & Rest  (0) 2025.11.03
'React/JavaScript 심화' 카테고리의 다른 글
  • [JavaScript 심화] Date 객체
  • [JavaScript 심화] 배열 메서드 (배열 변형)
  • [JavaScript 심화] 배열 메서드 (요소 조작)
  • [JavaScript 심화] 순회 정리
이도서
이도서
  • 이도서
    도서의 코딩노트
    이도서
  • 전체
    오늘
    어제
    • 분류 전체보기 (249)
      • Today I Learned (79)
        • 2024 (78)
      • Swift (25)
        • Swift 문법 정리 (19)
        • RxSwift (5)
      • Swift Study (12)
        • Playground (2)
        • Storyboard (9)
        • UIKit (1)
      • Flutter (27)
        • Dart 언어 (16)
        • Flutter Study (11)
      • React (37)
        • HTML & CSS (8)
        • JavaScript 기본 (12)
        • JavaScript 심화 (14)
        • Node.js (2)
        • React (1)
      • Git (3)
      • 코딩테스트 (60)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • 개발 공부 공유 링크
  • 인기 글

  • 태그

    코딩테스트 level.1
    객체지향
    function
    코딩테스트
    iOS앱개발
    ios앱개발자
    storyboard
    함수
    javascript 기본
    CLASS
    html
    Flutter
    Swift
    DART
    React
    ios
    Til
    javascript
    내일배움캠프
    코딩테스트Level.1
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
이도서
[JavaScript 심화] 배열 메서드 (요소 순회 & 탐색)
상단으로

티스토리툴바