someとeveryメソッド
・every
配列が条件をすべて満たす場合にtrueを返します。
・some
someは配列が条件を一つでも満たしていればtrueを返します。
早速サンプルを見てみましょう。
const exams = [80, 98, 92, 78, 77, 90, 89, 84, 81, 77]
exams.every(exam => exam >= 75);
// true
このように使うことができます。
仮に、一人でも75点未満がいれば結果は false になります。
もう一つサンプルがあります。
映画の配列があったとします。(適当に作成してあります。)
const movies = [
{
title: 'Amadeus',
score: 99,
},
{
title: 'Sharknado',
score: 35,
year: 2013
},
{
title: '13 Going On 30',
score: 70,
year: 2004
},
{
title: 'Stand By Me',
score: 85,
year: 1986
},
{
title: 'Waterworld',
score: 62,
year: 1995
},
{
title: 'Jingle All The Way',
score: 71,
year: 1996
},
{
title: 'Parasite',
score: 95,
year: 2010
},
{
title: 'Notting Hill',
score: 77,
year: 1999
},
{
score: 90,
year: 1979
}
]
movies.some(movie => movie.year > 2010);
// true
2010年以降に公開された映画があるかどうか確認したい場合
上記のように記述ができます。
some は一つも該当するものがなければ false になります。
everyはフォーム等の必須条件とかに使えそうで、someは各条件、一つでも満たせば良い所に活用ができそうです。