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

JavaScript 배열 some() 메서드 완벽 정리 – 요소 조건 검사 방법과 예제 코드

JavaScript의 some() 메서드는 배열의 요소 중 단 하나라도 주어진 조건(테스트 함수)을 통과하는지 확인하는 기능입니다. 이 테스트는 배열의 각 요소에 대해 실행되는 콜백 함수로 구현되며, 하나라도 통하면 즉시 true를 반환하고 더 이상 순회하지 않습니다. 모든 요소가 조건을 만족하지 않으면 false를 반환합니다.

즉, some()은 "배열 안에 조건을 충족하는 요소가 최소한 하나 있는가?"라는 질문에 답하는 메서드라고 할 수 있습니다.

some() 메서드의 동작 원리

  • 콜백 함수가 배열의 각 요소에 대해 순서대로 호출됩니다.
  • 콜백이 참(truthy)인 값을 반환하는 순간 some()은 true를 반환하고 순회를 중단합니다.
  • 모든 요소에 대해 콜백이 거짓을 반환하면 false를 반환합니다.
  • 빈 배열에 대해 호출하면 항상 false를 반환합니다.

예제 코드

다음은 배열 안에 11의 배수가 존재하는지 확인하는 예제입니다.

<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>JavaScript Array some()</title>
<style>
    body {
        font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
    }
    .sample {
        font-size: 20px;
        font-weight: 500;
    }
</style>
</head>
<body>
<h1>JavaScript Array some()</h1>
<div class="sample"></div>
<button class="Btn">클릭하세요</button>
<h3>
위 버튼을 클릭하면 배열에 11의 배수가 포함되어 있는지 확인할 수 있습니다.
</h3>
<script>
    // 11의 배수 여부를 검사하는 콜백 함수
    function checkMultiple(ele) {
        if (ele % 11 == 0) return true;
    }
    let fillEle = document.querySelector(".sample");
    let arr = [22, 19, 55, 12, 14];
    fillEle.innerHTML = arr;
    document.querySelector(".Btn").addEventListener("click", () => {
        fillEle.innerHTML = "11의 배수 존재 여부: " + arr.some(checkMultiple);
    });
</script>
</body>
</html>

실행 결과

위 코드를 실행하면 화면에 배열 [22, 19, 55, 12, 14]가 표시됩니다.

JavaScript 배열 some() 메서드 완벽 정리 – 요소 조건 검사 방법과 예제 코드

이후 "클릭하세요" 버튼을 누르면 some() 메서드가 실행되어 결과를 출력합니다.

JavaScript 배열 some() 메서드 완벽 정리 – 요소 조건 검사 방법과 예제 코드

배열의 첫 번째 요소인 22가 이미 11의 배수이므로, 콜백 함수가 첫 요소에서 true를 반환하고 some()은 곧바로 true를 반환합니다. 따라서 화면에는 "11의 배수 존재 여부: true"가 표시됩니다.

정리

some() 메서드는 배열 내 특정 조건을 만족하는 요소의 존재 여부를 빠르게 검사할 때 매우 유용합니다. 조건을 만족하는 요소를 발견하는 즉시 순회를 멈추기 때문에 성능 면에서도 효율적이며, 유효성 검사나 데이터 필터링 등 다양한 상황에서 활용할 수 있습니다. 반대로 "모든 요소가 조건을 만족하는지" 검사해야 한다면 every() 메서드를 사용하는 것이 적합합니다.