ループ内での関数の呼び出しに関する多くの情報を見つけましたが、GoogleAppsScriptを扱っているものは何も見つかりませんでした。私はいくつかのチュートリアルを経験し、これに基づいてコードを作成しました: http: //tobyho.com/2011/11/02/callbacks-in-loops/。
私の実際のスクリプトは、Fusion Tableからデータを取得し、それをGoogleドキュメントに配置します。Fusion Tableの数値データの一部を実際の名前に置き換えようとしていますが、それを機能させるには、ループ内で実行する関数が必要です。これは私に同じ問題を与えている単純化されたシナリオです。
var big = [];
var data = [["fname1", "lname1", 2, 1980],["fname2", "lname2", 3, 1989]];
function loop() {
for(i in data) {
Logger.log(big[i] = changeData(data[i][2]));
}
}
function changeData(n) {
return function() {
Logger.log(n + "this worked");
};
}
ログを確認すると、これが2回取得されます。function(){Logger.log(n + "これは機能しました");}
関数を実行するのではなく、テキストを返すだけです。私はjavascriptとGoogleAppsスクリプトに本当に慣れていません。これはGASの問題ですか、それとも私のコードはかなり離れていますか?どんな助けでも大歓迎です。
ありがとう。