multiArr.shift (), выдающий Error TypeError: Не удается найти сдвиг функции в объекте SN - PullRequest
0 голосов
/ 19 декабря 2018

Я новичок в разработке приложений Java и пытаюсь экспортировать JSON из электронной таблицы Google.

Я смотрел учебник и наткнулся на этот код

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 голосов
/ 19 декабря 2018

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

Я использовал .getValue(), это давало только одно значение, используйте .getValues(), чтобы получить весь массив.

Теперь в массиве multiArr будут объекты, которыеможет сдвинутьсяЭто решает мою проблему.

...