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