【GAS】配列の反復メソッドの使い方
Google Apps Script(GAS)はJavaScriptベースのスクリプト言語であり、JavaScriptの強力な配列操作機能をフルに活用することができます。特に配列の反復処理にはいくつかの便利なメソッドが用意されており、データの処理や分析を行う際に大いに役立ちます。この記事では、GASで利用可能な主要な配列の反復メソッド(forEach、map、filter、reduce、some、every)の使い方と具体例を紹介します。
forEachメソッド:配列の各要素に対する操作
forEach
メソッドは配列の各要素に対して指定した関数を実行します。これは配列の各要素を反復する最も基本的な方法の一つです。
let fruits = ['apple', 'banana', 'cherry'];
fruits.forEach(function(fruit) {
console.log(fruit);
});
このコードは、配列内の各果物の名前をコンソールに表示します。
mapメソッド:配列の各要素を変換
mapメソッドは、配列内の各要素に対して関数を実行し、その結果から新しい配列を作成します。
let numbers = [1, 2, 3, 4, 5];
let squares = numbers.map(function(number) {
return number * number;
});
console.log(squares); // [1, 4, 9, 16, 25]
このコードは、配列内の数値を二乗した新しい配列を生成します。
filterメソッド:条件に合致する要素の抽出
filterメソッドは、指定したテスト関数を満たす配列の要素から新しい配列を作成します。
let numbers = [1, 2, 3, 4, 5];
let evenNumbers = numbers.filter(function(number) {
return number % 2 === 0;
});
console.log(evenNumbers); // [2, 4]
この例では、偶数のみを含む新しい配列を生成しています。
reduceメソッド:配列を基に値を一つにまとめる
reduceメソッドは配列の各要素に対して関数を適用し、単一の出力値を生成します。
let numbers = [1, 2, 3, 4, 5];
let sum = numbers.reduce(function(accumulator, currentValue) {
return accumulator + currentValue;
}, 0);
console.log(sum); // 15
このコードは、配列内の数値の合計を計算します。
someメソッド:条件を満たす要素の存在確認
someメソッドは、少なくとも一つの配列要素が指定した関数によるテストを満たすかどうかを確認します。
let numbers = [1, 2, 3, 4, 5];
let hasEvenNumber = numbers.some(function(number) {
return number % 2 === 0;
});
console.log(hasEvenNumber); // true
この例では、配列に偶数が含まれているかどうかを確認しています。
everyメソッド:全要素が条件を満たすか確認
everyメソッドは、配列の全要素が指定したテスト関数を満たすかどうかを確認します。
let numbers = [2, 4, 6, 8, 10];
let allEvenNumbers = numbers.every(function(number) {
return number % 2 === 0;
});
console.log(allEvenNumbers); // true
このコードは、配列内の全ての数値が偶数であるかどうかを確認しています。
まとめ
GASにおける配列の反復メソッドは、データの操作と分析を強力にサポートします。これらのメソッドを使いこなすことで、スクリプトの効率性と可読性を大幅に向上させることができます。