Javascript 在循环内调用JSON组件时出现问题(Google脚本)
我一直在用脚本编写一个算法,以填补API检索中google表单中缺失的数据。在成功检索到包含相关数据的JSON对象后,我尝试调用特定部分,当静态完成时,这根本不是问题!然而,当我试图调用循环中的同一部分时,它会抛出一个错误,即使日志很好。以下是代码片段:Javascript 在循环内调用JSON组件时出现问题(Google脚本),javascript,google-apps-script,Javascript,Google Apps Script,我一直在用脚本编写一个算法,以填补API检索中google表单中缺失的数据。在成功检索到包含相关数据的JSON对象后,我尝试调用特定部分,当静态完成时,这根本不是问题!然而,当我试图调用循环中的同一部分时,它会抛出一个错误,即使日志很好。以下是代码片段: var jsonEmpSuper = JSON.parse(UrlFetchApp.fetch(urlBase.concat(urlEmp).concat(jsonInternalId.id).concat(urlBank), options)
var jsonEmpSuper = JSON.parse(UrlFetchApp.fetch(urlBase.concat(urlEmp).concat(jsonInternalId.id).concat(urlBank), options));
var jsonBusDeducs = JSON.parse(UrlFetchApp.fetch(urlBase.concat(urlDeduc), options));
Logger.log(jsonBusDeducs[1].name); //works!
for (var j = 0;j <= 10; j++) { //"TypeError: Cannot read property "name" from undefined."
Logger.log(j); //works!
Logger.log(jsonBusDeducs[j].name); //works!
Logger.log(sheet.getRange(i,1).getValue()); //works!
if (jsonBusDeducs[j].name == sheet.getRange(i,1).getValue()) {
Logger.log('Yo, ive spotted a match!'); //works, correctly spots matches?!?!?!
sheet.getRange(i,18).setValue(jsonBusDeducs[j].id);
}
var jsonEmpSuper=JSON.parse(UrlFetchApp.fetch(urlBase.concat(urlEmp).concat(jsonInternalId.id).concat(urlBank),options));
var jsonBusDeducs=JSON.parse(UrlFetchApp.fetch(urlBase.concat(urlduc),options));
Logger.log(jsonBusDeducs[1].name)//作品
对于(var j=0;j您可能正在访问循环中的数组外部。将限制更改为jsonBusDeducs.length
:
for (var j = 0; j < jsonBusDeducs.length; j++)
for(var j=0;j
请记住,您必须使用什么是jsonBusDeducs.length
?这与jsonEmpSuper
有什么关系?它从未在代码中使用过。哎哟,对不起,我错过了包含该变量。现在就在它上面。