Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.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 在循环内调用JSON组件时出现问题(Google脚本)_Javascript_Google Apps Script - Fatal编程技术网

Javascript 在循环内调用JSON组件时出现问题(Google脚本)

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)

我一直在用脚本编写一个算法,以填补API检索中google表单中缺失的数据。在成功检索到包含相关数据的JSON对象后,我尝试调用特定部分,当静态完成时,这根本不是问题!然而,当我试图调用循环中的同一部分时,它会抛出一个错误,即使日志很好。以下是代码片段:

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
有什么关系?它从未在代码中使用过。哎哟,对不起,我错过了包含该变量。现在就在它上面。