GASで実践!二次元配列をconcatで操作する方法
今日はGASで二次元配列を使ってデータをまとめたいんだけど、どうすればいいんだろう…?

猫男

catman
GASで二次元配列を操作するなら、「concat」メソッドが便利さ。さあ、catmanと一緒に二次元配列を神業で操作してみよう!
GASで二次元配列を操作しよう
GASでは、二次元配列を操作するのは比較的簡単です。まずは、GASで二次元配列をどのように作成するか見てみましょう。ここで使うのが「concat」メソッドです。
二次元配列の作り方
二次元配列は、配列の中に配列が含まれる構造を持ちます。次のコードをご覧ください。
function create2DArray() {
const array1 = [[1, 2], [3, 4]];
const array2 = [[5, 6], [7, 8]];
const combinedArray = array1.concat(array2);
Logger.log(combinedArray);
}
上記のコードでは、「concat」メソッドを使って、二つの二次元配列を結合しています。
concatメソッドで二次元配列を結合
「concat」メソッドは、配列を結合するために使われます。このメソッドを利用することで、二次元配列同士をスムーズに一つの配列にまとめられます。
function combineArrays() {
const week1 = [["月", "火"], ["水", "木"]];
const week2 = [["金", "土"], ["日"]];
const fullWeek = week1.concat(week2);
Logger.log(fullWeek);
}
このように、GASのconcatメソッドを使えば、異なる二次元配列をひとつにまとめることができます。
なるほど、concatを使うと配列を簡単に合体できるんだね!

猫男
GASで二次元配列を効率よく操作する
単純な結合だけでなく、二次元配列を効率よく操作するテクニックを続けて紹介していきます。
二次元配列の要素へアクセス
二次元配列の特定の要素にアクセスする場合、二次元配列は配列の配列であることを思い出してください。
function accessElement() {
const matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];
const element = matrix[1][2]; // 6を取得
Logger.log(element);
}
行と列のインデックス値を指定することで、任意の要素にアクセスできます。
二次元配列のループ処理
GASで二次元配列の各要素を操作するときは、for文を使ったループ処理が便利です。
function loopThrough2DArray() {
const matrix = [[1, 2], [3, 4], [5, 6]];
for (let i = 0; i < matrix.length; i++) {
for (let j = 0; j < matrix[i].length; j++) {
Logger.log(matrix[i][j]);
}
}
}
この方法で、二次元配列のすべての要素を処理できます。
配列をループで全てチェックできるのは便利だね!実際に試してみようっと。

猫男
練習問題
GASを使って、次の要件を満たすスクリプトを書いてみましょう。
- 二次元配列を2つ作成してください。
- 見出しを追加し、concatを使って配列を結合してください。
- 結合した配列の中身をループ処理でログに出力してください。
解答・解説
解答は以下のようになります。
function practiceProblem() {
const part1 = [["A", "B"], ["C", "D"]];
const part2 = [["E", "F"], ["G", "H"]];
const fullArray = part1.concat(part2);
for (let i = 0; i < fullArray.length; i++) {
for (let j = 0; j < fullArray[i].length; j++) {
Logger.log(fullArray[i][j]);
}
}
}
このスクリプトでは、concatを使用して2つの部分配列を結合し、二次元配列として全体をループで出力しています。
各ステップは、配列の要素を一覧表示するのに役立ち、実際の操作に使える手法を学べます。
GASでこんなに手軽に二次元配列を操作できるなんて、驚きだよ。次はこれを使ってさらに実用的なスクリプトを考えてみるね!

猫男

catman
それがいい。masteryは繰り返しさ。これからもガンガンコードを書こう!