Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript find() 메서드로 특정 레코드 검색하는 방법

JavaScript에서 배열 안에서 특정 조건에 맞는 레코드 하나만 가져오고 싶다면 find() 메서드를 사용하는 것이 가장 간단한 방법입니다.

find() 메서드란?

find() 메서드는 배열의 각 요소를 순회하면서 콜백 함수의 조건을 만족하는 첫 번째 요소를 반환합니다. 조건을 만족하는 요소가 없으면 undefined를 반환합니다. 전체 목록이 아닌 단일 레코드가 필요할 때 특히 유용합니다.

예제 코드

학생 객체 배열에서 studentId가 102인 학생을 찾는 코드입니다.

var obj = [
  {
    studentId: 101,
    studentName: "John"
  },
  {
    studentId: 102,
    studentName: "Bob"
  },
  {
    studentId: 103,
    studentName: "David"
  }
];

const result = obj.find((o) => {
  return o.studentId === 102;
});

console.log(result);

프로그램 실행하기

위 프로그램을 실행하려면 Node.js 환경에서 다음 명령어를 입력합니다. 파일 이름은 본인이 저장한 파일명으로 지정하면 됩니다. 여기서는 demo315.js를 사용했습니다.

node fileName.js

실행 결과

위 코드를 실행하면 조건(studentId === 102)에 일치하는 첫 번째 객체만 출력됩니다.

PS C:\Users\Amit\javascript-code> node demo315.js
{ studentId: 102, studentName: 'Bob' }

핵심 정리

  • find()는 조건을 만족하는 첫 번째 요소 하나만 반환합니다.
  • 조건에 맞는 요소가 여러 개여도 나머지는 무시됩니다.
  • 일치하는 요소가 없으면 undefined가 반환되므로, 결과 사용 전 존재 여부를 확인하는 것이 좋습니다.
  • 조건에 맞는 모든 요소가 필요하다면 filter() 메서드를 사용하세요.