Array.prototype.every()
오늘도 역시 프로그래머스 문제 풀이 중 알게 된 every()
함수에 대해 알아보기로 했다.
.every()
every() 메서드는 배열 안의 모든 요소가 주어진 판별 함수를 통과하는지 테스트합니다. Boolean 값을 반환합니다.
즉, 배열의 모든 원소가 주어진 조건을 만족하는지 판별해 모두 만족한다면 ture를, 하나라도 만족하지 않는다면 false를 return 한다.
// 화살표 함수
every((element) => { ... } )
every((element, index) => { ... } )
every((element, index, array) => { ... } )
// 콜백 함수
every(callbackFn)
every(callbackFn, thisArg)
// 인라인 콜백 함수
every(function callbackFn(element) { ... })
every(function callbackFn(element, index) { ... })
every(function callbackFn(element, index, array){ ... })
every(function callbackFn(element, index, array) { ... }, thisArg)
callbackFn
각 요소를 시험할 함수. 다음 세 가지 인수를 받습니다.
element
배열에서 처리되는 현재 요소
index
처리할 현재 요소의 인덱스
array
every를 호출한 배열
thisArg Optional
callbackFn을 실행할 때 this로 사용하는 값.
callbackFn
이 모든 배열 요소에 대해 참(truthy)인 값을 반환하는 경우 true
, 그 외엔 false
를 반환합니다.
배열 요소의 크기 테스트
let arr1 = [1, 2, 3, 4, 5];
let result = arr1.every((e) => e > 2);
console.log(result); // false
// 배열의 모든 요소가 2보다 크다는 조건에 만족하지 않았기 때문에 false 반환
let arr2 = [5, 6, 7, 8, 9];
let result = arr2.every((e) => e > 4);
console.log(result); // true
// 배열의 모든 요소가 4보다 크다는 조건에 만족하기 때문에 true 반환