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