every()

녜정·2022년 5월 15일
0

Javascript

목록 보기
2/3

every() 메서드는 배열 안의 모든 요소가 주어진 판별 함수를 통과하는지 테스트합니다. Boolean 값을 리턴합니다.

const isBelowThreshold = (currentValue) => currentValue < 40;

const array1 = [1, 30, 39, 29, 10, 13];

console.log(array1.every(inBelowThreshold))

//RESULT
true

구문

//화살표 함수
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 [Optional] 처리할 현재 요소의 인덱스]

array [Optional] every를 호출한 배열

thisArg [Optional] callbackFn을 실행할 때, this로 사용하는 값

Return 값

callbackFn 이 모든 배열 요소에 대해 참! 인값을 반환하는 경우 true, 그 외엔 false

설명

  • everycallback이 조건에 안 맞은 상태(=false)를 반환하는 요소를 찾을 때까지 배열에 있는 각 요소에 대해 한 번씩 callbackFn 함수를 실행합니다. 해당하는 요소를 발견한 경우 every는 즉시 false를 반환합니다. 그렇지 않으면 모든 값에 참(=true)을 반환하면 true를 반환합니다.

    참고 : 빈 배열에서 호출하면 무조건 true를 반환합니다.

  • 할당한 값이 있는 배열의 인덱스에서만 callbackFn을 호출합니다. 삭제했거나 값을 할당한 적이 없는 인덱스에서는 호출하지 않습니다.

  • callbackFn은 요소의 값, 해당 요소의 인덱스 및 순회하고 있는 배열 세가지 인수와 함게 호출됩니다.
    thisArg 매개변수를 every에 제공한 경우 callbackFnthis로 사용됩니다. 그 외엔 undefined 값을 사용합니다. 최종적으로 callbackFn이 볼 수 있는 this의 값은 함수가 볼 수 있는 this를 결정하는 평소 규칙을 따릅니다.

  • every는 호출한 배열을 변형하지 않습니다.

  • every가 처리하는 요소의 범위는 callbackFn의 첫 호출 전에 설정됩니다. 그 이후로 재호출이 일어나기 전까지 변경되지않습니다. (map()이랑 똑같네요)

  • every는 (이산)수학에서 전칭정량자(=quantifier, 한정자)처럼 행동합니다. 특히, 빈 배열에 대해서는 true 를 반환합니다.

profile
안녕하세요, 4년차 백엔드 개발자입니다. 소통하는 것을 좋아하고, velog에는 주로 짧은 글을 작성합니다.

0개의 댓글