Array.every() - 모든 항목이 조건을 충족하는지 확인

6990 단어 javascript
이 글은 8번째 글입니다. 이 기사에서는 every 배열 방법이 무엇인지 설명합니다.

모든 방법이란 무엇입니까?


every 배열 방법은 배열의 모든 항목이 특정 조건을 충족하는지 확인하는 고차 함수입니다. 모든 항목이 이를 충족하면 true 를 반환하고 하나 이상의 항목이 충족하지 않으면 false 를 반환합니다.

이 메서드는 배열을 수정하지 않습니다. 일치하지 않는 항목을 찾을 때까지 반복하고 각 항목에 조건을 적용합니다. 즉, 일치하지 않는 요소를 찾으면 배열의 나머지 항목을 계속 반복하지 않습니다. 즉시 false 를 반환합니다. 그리고 루프 전체에서 그러한 항목을 찾지 못하면 true를 반환합니다.

모든 방법의 구문




array.every(function(item, index, array){
  // condition to test item with
  // return true or false
})

callbackFunction 메서드에 전달된 every는 함수의 조건과 일치하지 않는 항목을 찾을 때까지 배열의 각 항목에 적용됩니다.

각 루프에서 콜백 함수에 전달되는 인수는 item , 항목의 index 및 원본array 입니다.

모든 방법 없이


every 메서드는 빠른 검사를 수행하고 특정 기준을 통과하지 못하는 첫 번째 항목에서 중지하는 추상화된 함수입니다. 다음은 every 메서드를 모방한 예입니다.

const array = [1, 2, 3, 4, 5, 6, 7, 8]

let allNumbersLessThan5 = false;

for (let i = 0; i < array.length; i++) {
  const item = array[i]
  console.log(item)
  if (item >= 5) {
    allNumbersLessThan5 = false
    break
  }
}

console.log(allNumbersLessThan5)
// 1
// 2
// 3
// 4
// 5
// false


이 루프 방식은 every 메서드가 백그라운드에서 수행하는 것과 유사합니다. 각 항목을 반복하고 지정된 조건(모든 숫자가 5 미만이어야 함)과 일치하지 않는 항목을 찾으면 루프를 중지하고 false 를 반환합니다.

로그에서 루프가 5에서 중지되고 5가 테스트를 통과하지 않았기 때문에 메소드는 이미 모든 항목이 조건을 충족하지 않는다는 것을 알고 있음을 알 수 있습니다.

루프를 중지할 이유를 찾지 못하면 모든 숫자가 5 미만임을 의미합니다.

모든 방법으로



다음은 every로 이전 결과를 얻는 방법입니다.

const array = [1, 2, 3, 4, 5, 6, 7, 8]

const allNumbersLessThan5 = array.every(item => {
  console.log(item)
  return item < 5
})

console.log(allNumbersLessThan5)
// 1
// 2
// 3
// 4
// 5
// false


더 적은 코드 줄로 더 쉽게 읽을 수 있습니다. 모든 것이 통과되는 예를 살펴보겠습니다.

const array = [1, 2, 3, 4, 5, 6, 7, 8]

const allNumbersLessThan5 = array.every(item => {
  return typeof item === "number"
})

console.log(allNumbersLessThan5)
// true


모든 항목은 조건을 통과하므로 실제로 모든 항목은 숫자입니다.

every 메서드는 배열에 다른 값이 있고 모든 값이 조건을 충족하는지 어설션하려는 경우에 유용합니다.

좋은 웹페이지 즐겨찾기