gpt4 book ai didi

javascript - 如何从 for 循环的每次迭代返回值

转载 作者:行者123 更新时间:2023-12-03 08:56:54 25 4
gpt4 key购买 nike

此脚本旨在迭代电子表格数据列表并将包含该数据的 HTML 格式电子邮件发送到我的电子邮件地址。 Code.GS 是将变量传递给 INDEX.HTML,以便它们可以很好地格式化并作为 HTML 模板发送。日期:2015 年 9 月 9 日 JFKAESE @ GMAIL 。通讯

代码.GS

// THIS FUNCTION TAKES THE ITERATOR VARIABLE TO GO DOWN SHEET DATA
function emailBody(i){

//GET SPREADSHEET BY ID AND SHEET NAME
var ss = SpreadsheetApp.openById('1Wc0j3twn1i-ug-lCsWOxyk-8u9t21Vr_xJH9wVu4KTk');
var sheet = ss.getSheetByName('Sheet1');

// GET DATA AND RETURN IT FOR THE HTML BODY
var item1 = sheet.getRange(i,1).getValue();
var item2 = sheet.getRange(i,2).getValue();
return [item1, item2];

}

// THIS FUNCTION LOOPS < 5 FOR TESTING PURPOSES BUT SHOULD GO
// UNTIL THE LAST ROW OF DATA

function looper() {
for (var i = 1; i < 5; i++){

// LOG THE OUTCOME -- WORKING PERFECT.
// I NEED TO SEND THE DATA TO THE INDEX.HTML FOR FORMATTING
Logger.log(emailBody(i));
}
}

// THIS FUNCTION IS TO SEND THE EMAILS TO MY EMAIL ADDRESS
function sendEmails() {
var template = HtmlService.createTemplateFromFile('Index');
var body = template.evaluate().getContent();

// SEND THE EMAIL
MailApp.sendEmail({
subject:"Test Email",
to:"example@domain.com",
htmlBody: body,
});
}

INDEX.HTML

<!DOCTYPE html>

<html>

<body style="background-color:#F5F5F5">


<p><? var data = emailBody(); ?></p>
<p><? var item1 = data[0]; ?></p>
<p><? var item2 = data[1]; ?></p>
<p><?= item1 ?>
<p><?= item2 ?>

</body>

</html>

最佳答案

稍微更改一下函数定义并在循环内调用它。这就是每次迭代返回两个值的方式。

 function emailBody(i){
var ss = SpreadsheetApp.openById('A_SHEET_ID_HERE');
var sheet = ss.getSheetByName('Sheet1');


var item1 = sheet.getRange(i,1).getValue();
var item2 = sheet.getRange(i,2).getValue();
return [item1, item2];


}
for (var i = 1; i < 5; i++){
console.log( emailBody(i));
}

要传递值,您可以这样做,您想如何获取值取决于您:

HTML

<p id="item1"></p>
<p id="item2"></p>

JAVASCRIPT

document.getElementById("item1").innerHTML=item1;
document.getElementById("item2").innerHTML=item2;

关于javascript - 如何从 for 循环的每次迭代返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32454334/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com