立入|ITブログ
【GAS】some/every関数 | データが存在するか判定する

 

some関数とevery関数でデータが存在するか判定する

下記のようなスプレッドシートがあったとします。

A B C D E
1 1 2 3 4 5
2 11 12 13 14 15
3 21 22 23 24 25

スプレッドシートから全ての値を取得すると、下記のような二次元配列が取得できます。

[[1,2,3,4,5],[11,12,13,14,15],[21,22,23,24,25]]

ではこの二次元配列から「A列に11があるかどうか」を判定するにはどうすればいいでしょうか?

また「A列に12がない事」を確認するにはどうしたらいいでしょうか。

こういう時に役立つのがsome関数とevery関数です。

some関数はどれか1つ、every関数は全てが条件に合うか判定する

some関数とevery関数では下記のような事が可能です。

var values = [[1,2,3,4,5],[11,12,13,14,15],[21,22,23,24,25]]

//どちらもtrue
var A列に11があるか = values.some(行 => 行[0] == 11)
var A列に12がないか = values.every(行 => 行[0] != 12)

A列の2行目に11があるので、some関数はtrueになります。11が3つあっても4つあっても、1つ以上一致すればtrueです。

またA列の全ての値は12ではないので、every関数もtrueになります。こちらは1つでも12があればfalseになります。

some/every関数はデータチェックに有用です

1つでも該当するデータがあるか。また全てのデータが該当するか。この2つがあれば、多くの状況でデータチェックが可能になります。データチェックの処理はプログラムの質を上げてくれます。some関数とevery関数を使ってデータチェックをシンプルに行いましょう。