1次元配列ならindexOfで指定した値が配列の何番目にあるか知りたいのようにできました
2次元配列の場合はどうしたらいいのかちょっと迷いました。
例えば
var array = [[5,4], [12,20], [8,5]]
の中で
0番目が
12
である配列が何番目にあるかを知りたい
もっと簡単な方法がありそうな気もしますが、以下のコードで目的を達成できました。
コード.gs
function getIndex2d() { var index; var target = 12; var array = [[5,4], [12,20], [8,5]]; for(var i = 0; i < array.length; i++) { if(array[i][0] === target) { index = i; break; } } Logger.log(index); } |
意訳この機能がやること 見つかったindexを入れる入れ物を用意して 見つけたい値を決めて 探したい対象の2次元配列を用意して 配列の数だけ繰り返す ひとつずつ要素を見て0番目がtargetに一致したら indexに繰り返した回数を入れて 繰り返しから抜ける indexをログに出す |
0番目:[5,4]
1番目:[12,20]
2番目:[8,5]
実行結果
ちょっとややこしい言い回しになりますが
var array = [[5,4], [12,20], [8,5]]
内の各要素の0番目が12であるのは、1番目の配列なので1が返ってきます。