Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么.setValue()在for循环中跳过列?_Javascript_Google Apps Script_Google Sheets_Sirishortcuts - Fatal编程技术网

Javascript 为什么.setValue()在for循环中跳过列?

Javascript 为什么.setValue()在for循环中跳过列?,javascript,google-apps-script,google-sheets,sirishortcuts,Javascript,Google Apps Script,Google Sheets,Sirishortcuts,我在Appscript中有一个web应用程序,它接收来自Siri快捷方式的POST请求的信息 函数doPost(e){ //获取活动电子表格并输入数据库选项卡名称。 var ss=SpreadsheetApp.getActiveSpreadsheet(); var sheet=ss.getSheetByName('Test02'); 如果(类型e!==‘未定义’) //检索接收到的数据并生成字符串。 var data=JSON.stringify(e); //第一次打印。打印新行上的字符串。

我在Appscript中有一个web应用程序,它接收来自Siri快捷方式的POST请求的信息

函数doPost(e){
//获取活动电子表格并输入数据库选项卡名称。
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet=ss.getSheetByName('Test02');
如果(类型e!==‘未定义’)
//检索接收到的数据并生成字符串。
var data=JSON.stringify(e);
//第一次打印。打印新行上的字符串。
sheet.getRange(sheet.getLastRow()+1,1).setValue(数据);
//消除来自Siri快捷方式POST请求的所有特殊字符。
data=data.replace(新的RegExp([“\\\”],'g'),“”);
data=data.replace(新的RegExp(“,”g'),”);
data=data.replace(newregexp(“{”,“g'),”);
data=data.replace(newregexp(“}”,'g'),“”);
data=data.replace(新的RegExp(“:”,“g'),”);
//拆分第一个参数左侧和第二个参数右侧的所有信息。
data=data.split('Log')[1];
data=data.split(“名称”)[0];
//第二次打印。在新行上打印干净的字符串。
sheet.getRange(sheet.getLastRow()+1,1).setValue(数据);
//第三次打印。打印行上的所有数组元素。最终目标是让它们从A列开始,并保持每个循环添加1列。
//将字符串拆分为数组。
var dataArray=data.split(“,”);
var lastRow=sheet.getLastRow()+1;
对于(var i=0;i}
正如@Pointy所提到的,问题出在for循环中的1+[i]中。“因为我是代码中的一个数字,比如说3,1+[i]将是字符串“13”,而不是数字。将此更改为[i+1]完全解决了问题

你打算
1+[i]
是什么意思?因为
i
是代码中的一个数字,比如说3,
1+[i]
将是字符串“13”,而不是数字。啊!我怎样才能解决这个问题?我的意图是使用[i]作为索引来设置决定.setValue()范围的列号。如果
i
是数字3,那么
1+i
是数字4。
[]
创建一个数组,然后在计算
1+[i]
时将其转换回字符串。是!它正在工作,非常感谢!刚刚将1+[i]更改为[i+1]。您是想回答这个问题,还是我应该将您的第一条评论复制到答案中?