配列.someor -少なくとも1つの項目が条件を満たしていることをテストする場合

5326 ワード

この記事は第六です.この記事では、何を説明しますsome 配列メソッドです.

いくつかの方法は何ですか?


The some 配列のメソッドは、配列内の少なくとも1つの項目がある条件を満たすかどうかをテストする上位関数です.つのアイテムがそれを満たすならば、それは帰りますtrue , そして、アイテムがそれに会うならば、それは帰りますfalse .
このメソッドは配列を変更しません.それはループを通してだけ、そして、それがマッチするものを見つけるまで、各々のアイテムに条件を適用します.これは、一致する要素を見つけた場合、配列の残りの項目をループし続けることを意味します.It immediately returns true .

いくつかのメソッドの構文


array.some(function(item, array, index){
  // condition to test item with
  // return true or false
})
The callbackFunction に渡されるsome 関数内の条件に一致する項目が見つかった場合、配列内の各項目にメソッドを適用します.
各ループのコールバック関数に渡される引数はitem , the index アイテムと原作のarray .

何らかの方法なしで


The 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番目のループの項目、そして2 条件にマッチします.some ループを停止し、すぐにtrue .
The some メソッドは、配列内で異なる値を持つときに便利です.また、少なくとも1つの項目が条件を満たしているか、条件が満たされていないことを主張します.