繁体   English   中英

Google Apps脚本:无法访问返回对象的元素

[英]Google Apps Script: Unable to Access Elements of Returned Object

问题

无法仅访问返回对象的编号。 得到逗号,似乎无法停止这种行为。

当前成果

    goalList = data[i][3].toString(); -> [2,10,3,4];
    var goal1 = goalList[0]; -> 2
    var goal2 = goalList[2]; -> 1
    var goal3 = goalList[4]; -> ,
    var goal4 = goalList[6]; -> ,

期望的结果

    goalList = data[i][3].toString(); -> [2,10,3,4];
var goal1 = goalList[0]; -> 2
var goal2 = goalList[2]; -> 10
var goal3 = goalList[4]; -> 3
var goal4 = goalList[6]; -> 4

工作流程

我有一个函数可以返回电子表格中的值。 getReportData()被传递一个包含4个元素的数组。

var profileList = getIds(processId);

if (profileList.length == 0) {
  processStatus = "Completed";
  ctrlRange.setValues([[processId, processStatus]]);
} else {
  getReportData(profileList, processId);
}
} catch(error) {
 Browser.msgBox(error.message);
 }
}
 function getIds(curPid) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheetByName('Filtered Views');
  var data = sheet.getDataRange().getValues();

  var profilecmsArray = []

  for (i = 0; i < data.length; i++) {
    var pid = data[i][3];
    if (pid != curPid) {
      profilecmsArray.push([data[i][1], data[i][2], i+1, data[i][4]]);
    }
  }  
  return profilecmsArray;
}

for (i = 0; i < data.length; i++) {
 profileId = data[i][0];
 clientCms = data[i][1];    
 goalList = data[i][3].toString();


 var goal1 = 'ga:goal' + newGoal[0] + 'Completions'
 var goal2 = 'ga:goal' + newGoal[2] + 'Completions'
 var goal3 = 'ga:goal' + newGoal[4] + 'Completions'
 var goal4 = 'ga:goal' + newGoal[6] + 'Completions'

 Logger.log(goal1);
 Logger.log(goal2);
 Logger.log(goal3);
 Logger.log(goal4);

您的代码将数组转换为字符串,而不是将每个元素转换为单独的字符串。 作为数组, [2,10,3,6]的第一个元素为2,然后为10,然后为3,然后为6。作为字符串, 2,10,3,6的第一个字符2然后,然后。 1然后是0 ,然后是3 ,然后是6

要更正,请尝试以下操作:

for (i = 0; i < data.length; i++) {
 profileId = data[i][0];
 clientCms = data[i][1];    
 goalList = data[i][3];


 var goal1 = 'ga:goal' + goalList[0].toString() + 'Completions'
 var goal2 = 'ga:goal' + goalList[1].toString() + 'Completions'
 var goal3 = 'ga:goal' + goalList[2].toString() + 'Completions'
 var goal4 = 'ga:goal' + goalList[3].toString() + 'Completions'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM