【GAS】配列の要素・行・列の削除方法(一次元配列・二次元配列)
Google Apps Script(GAS)の配列処理において、特定の行や列・要素を削除したくなることが頻繁にあります。特に、二次元配列の削除は、データ処理やスプレッドシート操作において非常に重要です。この記事では、GASで一次元配列の要素を削除する基本的な方法から、より複雑な二次元配列から特定の行や列を削除するテクニックまでを解説します。
一次元配列から要素を削除する
一次元配列から特定の要素を削除するには、spliceメソッドやfilterメソッドが便利です。
spliceメソッドで削除する
spliceメソッドを使用すると、指定した位置の要素を削除し、必要に応じて新しい要素を追加することができます。
let fruits = ['Apple', 'Banana', 'Cherry'];
// Bananaを削除
fruits.splice(1, 1);
console.log(fruits); // ['Apple', 'Cherry']
filterメソッドで削除する
filterメソッドを使用すると、特定の条件に一致する要素のみを新しい配列として抽出できます。これにより、条件に一致しない要素を「削除」することができます。
let numbers = [1, 2, 3, 4, 5];
// 偶数を削除
let oddNumbers = numbers.filter(number => number % 2 !== 0);
console.log(oddNumbers); // [1, 3, 5]
二次元配列から行を削除する
二次元配列から特定の行を削除するには、一次元配列と同様にspliceメソッドを利用します。二次元配列では、配列の各要素がさらに配列であるため、行はこれらの「内部」配列の一つとみなされます。
let matrix = [
['Row1-Col1', 'Row1-Col2'],
['Row2-Col1', 'Row2-Col2'],
['Row3-Col1', 'Row3-Col2']
];
// 2行目を削除
matrix.splice(1, 1);
console.log(matrix);
// [['Row1-Col1', 'Row1-Col2'], ['Row3-Col1', 'Row3-Col2']]
二次元配列から列を削除する
二次元配列から特定の列を削除する場合は、各行(内部配列)を反復処理し、各行から特定の位置の要素(列に該当)を削除します。
let matrix = [
['Row1-Col1', 'Row1-Col2', 'Row1-Col3'],
['Row2-Col1', 'Row2-Col2', 'Row2-Col3'],
['Row3-Col1', 'Row3-Col2', 'Row3-Col3']
];
// 各行から2列目を削除
matrix.forEach(row => row.splice(1, 1));
console.log(matrix);
// [['Row1-Col1', 'Row1-Col3'], ['Row2-Col1', 'Row2-Col3'], ['Row3-Col1', 'Row3-Col3']]
まとめ
GASにおける配列や二次元配列の要素の削除は、データを操作する際の基本的なスキルです。一次元配列ではspliceやfilterメソッドを用いることで、特定の要素を柔軟に削除できます。二次元配列では、行や列の削除に少し工夫が必要ですが、適切なメソッドを使用することで簡単に実現可能です。これらの方法をマスターすることで、GASを用いたより高度なスクリプトの作成が可能になります。