駆け出しのエンジニア日記

プログラミング言語勉強中の奮闘日記

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,
year: 1984
},
{
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
},
{
title: 'Alien',
score: 90,
year: 1979
}
]

movies.some(movie => movie.year > 2010);
// true

2010年以降に公開された映画があるかどうか確認したい場合

上記のように記述ができます。

some は一つも該当するものがなければ false になります。

 

everyはフォーム等の必須条件とかに使えそうで、someは各条件、一つでも満たせば良い所に活用ができそうです。