forEachメソッドとは?
forEach
は、JavaScriptで配列を繰り返し処理するためのメソッドです。与えられた関数を配列の各要素に対して一度ずつ呼び出します。ここで、提供されたコードでは、data
という配列の各要素に対してforEach
メソッドが使われています。
以下は、forEach
メソッドの基本的な使い方と、コード内での具体的な使用例です。
forEachメソッドの基本的な構文
array.forEach(function(currentValue, index, array) {
// 処理
}, thisArg);
currentValue
: 現在の要素の値index
: 現在の要素のインデックスarray
:forEach
が実行されている配列thisArg
(省略可能):this
として使用される値
具体的な例
var numbers = [1, 2, 3, 4, 5];
numbers.forEach(function(number, index) {
console.log('Index ' + index + ': ' + number);
});
情報 Index 0: 1
情報 Index 1: 2
情報 Index 2: 3
情報 Index 3: 4
情報 Index 4: 5
上記の例では、numbers
配列の各要素に対して、インデックスと要素の値をコンソールに出力します。
コードの具体的な解説:
// データを書き込む
data.forEach(function (item) {
// headers配列の各要素に対してmapメソッドを使用
var row = headers.map(function (header) {
// itemオブジェクトから対応するヘッダーに紐づく値を取得して配列に追加
return item[header];
});
// sheetに行を追加
sheet.appendRow(row);
// ログに行の内容を出力
Logger.log(row);
});
このコードでは、data
配列の各要素に対して、headers
配列に基づいて行を作成し、それをスプレッドシートのsheet
に追加しています。各行の内容はLogger.log
を使用してコンソールにも出力されています。
例 1: 配列の各要素に1を加える
この例では、numbers
配列の各要素に1を加えています。
var numbers = [1, 2, 3, 4, 5];
numbers.forEach(function(number, index, array) {
array[index] = number + 1;
});
console.log(numbers);
// 出力: [2, 3, 4, 5, 6]
例 2: 偶数だけを出力する
この例では、numbers配列の各要素に対して、偶数かどうかを判定し、偶数の場合にコンソールに出力しています。
var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
numbers.forEach(function(number) {
if (number % 2 === 0) {
console.log(number);
}
});
// 出力: 2, 4, 6, 8, 10
例 3: インデックスと要素の積を計算する
この例では、numbers配列の各要素に対して、偶数かどうかを判定し、偶数の場合にコンソールに出力しています。
var numbers = [1, 2, 3, 4, 5];
numbers.forEach(function(number, index) {
var product = number * index;
console.log('Index ' + index + ': ' + product);
});
// 出力: 0, 2, 6, 12, 20
例 3: インデックスと要素の積を計算する
この例では、各要素の値とそのインデックスの積を計算してコンソールに出力しています。
var numbers = [1, 2, 3, 4, 5];
numbers.forEach(function(number, index) {
var product = number * index;
console.log('Index ' + index + ': ' + product);
});
// 出力: 0, 2, 6, 12, 20
例 4: オブジェクトのプロパティを出力する
この例では、オブジェクトpersonのプロパティとその値を出力しています。
var person = {
name: 'John',
age: 30,
occupation: 'Engineer'
};
Object.keys(person).forEach(function(key) {
console.log(key + ': ' + person[key]);
});
// 出力: name: John, age: 30, occupation: Engineer
forEachまとめ
これらの例は、forEach
メソッドがどのように使用されるかを示しています。各例で配列やオブジェクトの要素に対して独自の処理を行っています。