はじめに
some()とevery()がとても便利だったのでメモ的にまとめてみました。
もし誰かのお役立てば幸いです。
some()とevery()
どちらも配列の要素を、指定した条件と比較してtrue / falseを返す関数です。
それぞれの違いを、サンプルコードも交えながら解説します。
some()
some()は配列内に、指定した条件を満たす要素が1つでもあればtrueを返します。
index.js
const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
arr.some(value => value < 5)
// true
arr.some(value => value < 0)
// false
every()
every()は配列内の要素が全て、指定した条件を満たすときにtrueを返します。
index.js
const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
arr.every(value => value > 0)
// true
arr.every(value => value > 5)
// false
余談
ちなみに、some()と似たようなメソッドにincludes()というメソッドがあるのですが、次のような違いがあります。
includes() : 特定の要素が配列に含まれているか
some() : 配列内の要素の1つ以上が与えられた条件を満たすかどうか
まとめ
some()は配列内の要素が条件を1つでも満たしていればtrueを返し、
every()は配列内の要素が全て条件を満たしていればtrueを返すメソッドでした。
for文やindexOf()などで冗長なコードを書くのではなく、どちらも便利で直感的なメソッドなので、積極的に使っていきたいですね。