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

JavaScript TypedArray every() 메서드 완벽 정리

TypedArray every() 메서드란?

TypedArray(형식화 배열)의 every() 메서드는 콜백 함수로 구현된 테스트를 배열의 모든 요소가 통과하는지 검사합니다. 모든 요소가 조건을 충족하면 true를 반환하고, 단 하나의 요소라도 조건을 충족하지 않으면 반복을 즉시 중단하고 false를 반환합니다.

이 메서드는 일반 Array 객체의 every()와 동일한 방식으로 동작하며, Int32Array, Float64Array 등 다양한 형식화 배열에서 사용할 수 있습니다.

문법(Syntax)

typedArray.every(callback(element[, index[, array]]))

콜백 함수는 다음 세 가지 인수를 전달받습니다.

  • element: 현재 처리 중인 요소의 값
  • index(선택): 현재 처리 중인 요소의 인덱스
  • array(선택): every()가 호출된 형식화 배열 자체

반환값

  • 모든 요소가 테스트를 통과하면 → true
  • 하나라도 테스트를 통과하지 못하면 → false

예제 1: 일부 요소가 조건을 충족하지 않는 경우

<html>
<head>
    <title>JavaScript TypedArray every 메서드</title>
</head>
<body>
    <script type="text/javascript">
        var int32View = new Int32Array([64, 89, 65, 21, 14, 66, 87, 55]);
        document.write("형식화 배열의 내용: " + int32View);
        document.write("<br>");
        function testResult(element, index, array) {
            var ele = element > 35;
            return ele;
        }
        result = int32View.every(testResult);
        if(result) {
            document.write("모든 요소가 35보다 큽니다");
        } else {
            document.write("모든 요소가 35보다 크지 않습니다");
        }
    </script>
</body>
</html>

실행 결과

형식화 배열의 내용: 64,89,65,21,14,66,87,55
모든 요소가 35보다 크지 않습니다

위 배열에는 21과 14처럼 35 이하인 값이 포함되어 있습니다. 따라서 every() 메서드는 해당 지점에서 검사를 멈추고 false를 반환하여, "모든 요소가 35보다 크지 않습니다"라는 결과가 출력됩니다.

예제 2: 모든 요소가 조건을 충족하는 경우

<html>
<head>
    <title>JavaScript TypedArray every 메서드</title>
</head>
<body>
    <script type="text/javascript">
        var int32View = new Int32Array([64, 89, 65, 58, 90, 66, 87, 55]);
        document.write("형식화 배열의 내용: " + int32View);
        document.write("<br>");
        function testResult(element, index, array) {
            var ele = element > 35;
            return ele;
        }
        result = int32View.every(testResult);
        if(result) {
            document.write("모든 요소가 35보다 큽니다");
        } else {
            document.write("모든 요소가 35보다 크지 않습니다");
        }
    </script>
</body>
</html>

실행 결과

형식화 배열의 내용: 64,89,65,58,90,66,87,55
모든 요소가 35보다 큽니다

이번 배열의 모든 요소는 35보다 큰 값입니다. 따라서 every() 메서드는 끝까지 검사를 진행한 뒤 true를 반환하고, "모든 요소가 35보다 큽니다"라는 결과가 출력됩니다.

정리

every() 메서드는 배열 전체가 특정 조건을 만족하는지 빠르게 확인할 때 유용합니다. 특히 데이터 유효성 검사처럼 "모든 값이 기준을 넘는가?"를 판별해야 하는 상황에서 간결하고 가독성 높은 코드를 작성할 수 있게 해줍니다.