Array.some() - 하나 이상의 항목이 조건을 충족하는지 테스트하기 위해

5384 단어
이 글은 6번째 글입니다. 이 기사에서는 some 배열 방법이 무엇인지 설명합니다.

썸메소드란?


some 배열 방법은 배열의 항목 중 하나 이상이 특정 조건을 충족하는지 테스트하는 고차 함수입니다. 하나의 항목이 일치하면 true 를 반환하고, 일치하는 항목이 없으면 false 를 반환합니다.

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

Some 메서드의 구문




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

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

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

어떤 방법 없이


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

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

let hasEvenNumber = false

for (let i = 0; i < array.length; i++) {
  const item = array[i]
  console.log(item)
  if (item % 2 === 0) {
    hasEvenNumber = true
    break
  }
}

console.log(hasEvenNumber)
// 1
// 2
// true


이 루프 방식은 some 메서드가 백그라운드에서 수행하는 것과 유사합니다. 각 항목을 반복하고 지정된 조건과 일치하는 항목을 찾으면 루프를 중지하고 true 를 반환합니다.

어떤 방법으로



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

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

const hasEvenNumber = array.some(item => {
  console.log(item)
  return item % 2 === 0
})

console.log(hasEvenNumber)
// 1
// 2
// true


결과에서 첫 번째 루프의 항목인 첫 번째 로그 1 , 두 번째 루프의 항목인 2 , 2 가 조건과 일치하므로 some 루프를 중지하고 true 를 즉시 반환합니다.
some 메서드는 배열에 다른 값이 있고 하나 이상의 항목이 조건을 충족하거나 조건을 충족하는 항목이 없다고 어설션하려는 경우에 유용합니다.

좋은 웹페이지 즐겨찾기