gpt4 book ai didi

javascript - 如何在特定脚本上调用参数为 `findRow(s)` 的函数?

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

这段代码运行得很好。我只是不明白为什么。有人可以解释一下函数 findRow(s) 是如何“调用”的吗?
我不明白是什么让函数 findRow(s) 运行。

我明白他们是如何定义 var rA=findRow(resp.getResponseText());

这对我来说似乎没有意义,这使得函数运行。我显然对此很陌生......仅仅定义变量的行为就能使下一个函数“工作”吗?
或者是 Logger.log 部分开始工作?

function findAString(){
var ss=SpreadsheetApp.getActive();
var sh1=ss.getActiveSheet();
var sh2=ss.getSheetByName('Completed');
var resp=SpreadsheetApp.getUi().prompt("Enter a String");
var s=resp.getResponseText();
if(s){
var rA=findRow(s);
if (rA.length>0){
sh2.getRange(sh2.getLastRow()+1,1,rA.length,rA[0].length).setValues(rA);
var rows='<br /><h3>Order details have been moved to the Completed tab</h3><br />';
rows+=Utilities.formatString(resp.getResponseText());
for(var i=0;i<rA.length;i++){
rows+=Utilities.formatString('<br /> %s',rA[i].join('<br />'));
}
rows+='<br /><br /><input type="button" value="Exit" onClick="google.script.host.close();" />';
if(rows){
var ui=HtmlService.createHtmlOutput(rows);
SpreadsheetApp.getUi().showModelessDialog(ui, 'Search Results')
}
}
}else{
throw('Error: Invalid Response');
}
}

function findRow(s) { ;// the actual search function
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getActiveSheet()
var rA=[];
var vA=sh.getDataRange().getValues();
for(var i=0;i<vA.length;i++) {
for(var j=0;j<vA[i].length;j++){
if(vA[i][j].toString().indexOf(s)>-1){
rA.push(vA[i]);
break;
}
}
}
return rA;
var sourcesheet = ss.getSheetByName('Form Responses 2');
var targetsheet = ss.getSheetByName('Completed');
var targetrange = targetsheet.getRange(targetsheet.getLastRow(), 1, sourcesheet.getLastRow(), sourcesheet.getLastColumn());
var rangeValues = sourcesheet.getRange(2, 1, sourcesheet.getLastRow(), sourcesheet.getLastColumn()).getValues();
targetrange.setValues(rangeValues);
}

最佳答案

正如您已经提到的,findRow 函数被调用

var rA=findRow(resp.getResponseText());

考虑到有几行代码是 var s=resp.getResponseText();,您可以重写它以保存一些字符,如下所示:

 var rA=findRow(s);

上面一行是

 var resp=SpreadsheetApp.getUi().prompt("Enter a String");

该行将 PromptResponse 对象分配给 resp。 PromptResponse 对象具有返回 String 对象的方法 getResponseText()

Logger.log(rA) 只是将字符串值记录到日志中。

引用文献

关于javascript - 如何在特定脚本上调用参数为 `findRow(s)` 的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54101744/

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