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

JavaScript 배열에 특정 객체가 포함되어 있는지 확인하는 방법

JavaScript에서 배열 안에 특정 객체가 존재하는지 확인해야 하는 경우가 자주 있습니다. 가장 기본적인 방법은 for 반복문을 사용해 배열의 각 요소를 순회하면서 객체의 속성 값을 비교하는 것입니다. 아래 예제에서는 일치하는 객체를 찾으면 true를 출력하고 반복을 종료합니다.

예제 코드

<!DOCTYPE html>
<html>
   <body>
      <script>
         var book = [{
            Name: 'Java',
            ID: '001'
         }, {
            Name: 'Ruby',
            ID: '002'
         }];

         var result = false;
         for (var i = 0; i < book.length; i++) {
            if (book[i].Name == 'Ruby') {
               result = true;
               document.write(result.toString());
               break;
            }
         }
      </script>
   </body>
</html>

실행 결과

true

더 간결한 방법: some() 메서드 활용하기

위 방식도 잘 작동하지만, 최신 JavaScript에서는 some() 메서드를 사용하면 훨씬 간결하게 처리할 수 있습니다. some()은 조건을 만족하는 요소가 하나라도 있으면 true를 반환하고, 없으면 false를 반환합니다.

var result = book.some(item => item.Name === 'Ruby');
console.log(result); // true

객체 자체를 찾고 싶다면: find() 메서드

단순히 존재 여부가 아니라 해당 객체 전체를 얻고 싶다면 find() 메서드를 사용하는 것이 좋습니다.

var found = book.find(item => item.Name === 'Ruby');
console.log(found); // { Name: 'Ruby', ID: '002' }

이처럼 상황에 따라 for 루프, some(), find() 등을 적절히 선택하면 배열 내 객체 탐색을 효율적으로 수행할 수 있습니다.