Array.prototype.every()
사용법
every()
함수는
배열의 모든 요소가 특정 조건을 만족하는지 확인합니다.
모든 요소가 조건을 만족하면 true
를 반환하고, 하나라도 조건을 만족하지 않으면 false
를 반환합니다.
이 함수는 배열 요소를 순회하며, 주어진 콜백 함수의 조건을 모든 요소가 만족하는지 판별합니다.
다음은 배열의 모든 요소가 숫자 7
인지 every()
함수로 확인하는 예제입니다.
every()
함수의 형식은 다음과 같습니다.
구문
arr
은 every()
함수를 적용할 배열입니다.
매개변수
callbackFn |
배열의 각 요소를 처리하는 콜백 함수입니다. 콜백 함수는 배열의 요소를 전달받고, 조건을 만족하면 true 를 반환합니다. 배열의 모든 요소가 콜백 함수의 조건을 만족하면 every() 함수는 true 를 반환하고, 하나라도 만족하지 않으면 false 를 반환합니다.
콜백 함수의 매개변수: callbackFn(element[, index[, array]])
|
---|---|
thisArg |
옵션. callbackFn 함수 내부에서 사용할 this 값으로 사용할 값입니다. |
첫 번째 매개변수인 콜백 함수(callbackFn
)과 관련되어 함수의 형태별 구문 형식은 다음과 같습니다.
반환 값
- 배열의 모든 요소가 콜백 함수의 조건을 만족하면
true
를 반환합니다. - 조건을 만족하지 않는 요소가 하나라도 있으면
false
를 반환합니다.
구현 설명
every()
함수는 배열을 순회합니다.
콜백 함수를 인자로 받아 각 요소에 대해 평가하고, 그 결과를 바탕으로 true
또는 false
를 반환합니다.
- 하나의 요소라도 조건을 만족하면
true
를 반환합니다. - 모든 요소가 조건을 만족하면
true
를 반환합니다. 즉, 배열의 모든 요소가 콜백 함수에서true
를 반환해야every()
함수 자체도true
를 반환합니다. - 만약 하나라도 조건을 만족하지 않는 요소가 있으면
false
를 반환합니다. - 배열의 순회를 계속하면서 모든 요소가 콜백 함수에서
true
를 반환하는지 확인하고, 조건을 만족하지 않는 요소를 발견하면 더 이상 요소를 검사하지 않고, 배열 순회를 멈춥니다.
활용 예제
every()
함수는 배열의 모든 요소가 특정 조건을 만족하는지 확인할 때 매우 유용합니다.
다음은 구체적인 상황을 몇 가지 예로 들어 설명합니다.
배열의 모든 요소가 유효한지 확인하기
예를 들어, 모든 입력값이 유효한 범위에 있는지 확인할 수 있습니다.
모든 상품의 가격이 1000원 이상인지 확인하기
every()
함수의 장점과 단점
every()
함수는 배열의 모든 요소가 주어진 조건을 만족하는지 간편하게 확인할 수 있는 유용한 메서드입니다. 하지만 단점 또한 존재합니다.
장점
every()
함수는 배열의 모든 요소가 조건을 만족하는지 확인하는 과정을 간결하게 표현할 수 있습니다.- 모든 요소가 조건을 만족하는 경우에만
true
를 반환하며, 조건을 만족하지 않는 요소를 발견하면 즉시false
를 반환하여 배열 순회를 멈춥니다. 이는 성능 면에서 효율적입니다.
단점
false
를 유발하는 요소를 알 수 없습니다.
every()
함수는 조건을 만족하지 않는 요소들에 대한 정보를 제공하지 않습니다. 이는 조건을 만족하지 않는 요소에 대한 분석이 필요한 경우에는 한계가 될 수 있습니다.
단점 보완 방법
every()
함수의 단점을 보완하기 위해서는 다음과 같은 방법들을 고려할 수 있습니다.
조건을 만족하지 않는 요소 식별하기
filter()
함수는
배열의 요소를 순회하면서 콜백 함수를 사용하여 원하는 조건에 따라 필터링하는 함수입니다.
필터링된 배열을 반환합니다.
조건을 만족하는 요소 찾기
배열의 특정 조건을 만족하지 않는 요소를 확인하기
명세서
명세서 사양 | |
---|---|
every()
|
ECMAScript Language Specification #sec-array.prototype.every |
브라우저 호환성
메서드 |
데스크탑 Chrome
|
데스크탑데스크탑 Edge
|
데스크탑 Firefox
|
Safari
|
---|---|---|---|---|
every()
|
1 | 12 | 1.5 | 3 |