multiArr.shift()提供错误TypeError:在对象SN中找不到函数移位

时间:2018-12-19 10:57:31

标签: json spreadsheet

我是Java应用程序开发的新手,我正尝试从Google电子表格中导出JSON。

我正在看一个教程,并遇到了这个代码

function doGet(){
  var result ={};
  
  var sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1')
  .getDataRange()
  .getValue();
  
  var sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet2')
  .getDataRange()
  .getValue();
  
  result.sheet1 = makeObject(sheet1);
  result.sheet2 = makeObject(sheet2);
  
  Logger.log(result.sheet1);
  return ContentService.createTextOutput(JSON.stringify(result))
  .setMimeType(ContentService.MimeType.JSON);
  
}
function makeObject(multiArr){
  var obj = {};
  
  var headers = multiArr.shift();
  
  for(var i= 0; 1<headers.length; i++){
    obj[headers[i]]= multiArr.map(function(app){
      return app[i];
    });
      }
  
  return obj;
}

在教程中,它工作正常,但对我来说却出错 TypeError:在对象SN中找不到函数移位。 (第23行,文件“代码”)

我无法调试它。 请帮助

1 个答案:

答案 0 :(得分:0)

 var sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet2')
  .getDataRange()
  .getValue();
  

我正在使用.getValue(),它只给出一个值,使用.getValues()获得整个数组。

现在arrray multiArr将具有可以移动的对象。这解决了我的问题。