![](/img/trans.png)
[英]How to call Google Script function inside the Javascript For loop
[英]Call a function inside a for loop in Google Apps Script
我發現了很多有關在循環內調用函數的信息,但是我還沒有發現任何有關Google Apps腳本的信息。 我已經看過多個教程,並基於此創建了代碼: 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");
};
}
當我檢查日志時,會得到兩次:function(){Logger.log(n +“ this work”);}
而不是執行功能,它只是返回文本。 我真的是JavaScript和Google Apps腳本的新手。 這是GAS問題還是我的代碼有誤? 任何幫助表示贊賞。
謝謝。
您擁有的changeData函數正在聲明一個函數並返回新函數。
您只需要返回changeData函數的結果
function changeData(n) {
Logger.log(n + "this worked");
return "changed data result";
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.