Я хотел бы сохранить строку данных из электронной таблицы как новый элемент в массиве - PullRequest
0 голосов
/ 13 октября 2018

Я хотел бы хранить каждую строку данных как отдельный элемент в массиве.Это код, который у меня есть на данный момент:

function data() { 
  var responses = ss.getSheetByName('Form Responses 263')
  var data = responses.getRange(2, 2, responses.getLastRow()-1, responses.getLastColumn()-1).getValues()
  var n = []
  data.forEach(function(row) {
    n.push(row) 
    Logger.log(row)
    Logger.log(n)     
  })
}

На данный момент, это печатает содержимое каждой строки в Logger.Как мне сохранить данные каждой строки в var n?Я использовал:

n.push(row)

, но это просто добавляет все из строки, а не только данные.

Исходная строка

This is what my data looks like

Я бы хотел, чтобы мой массив выглядел так:

[1      3       4],[2   3       4], [2      4   4   6]

1 Ответ

0 голосов
/ 13 октября 2018

Это было окончательное решение проблемы, на которое ответил @Tanaike в комментариях:

function data() {
  var fr = ...
  var data = fr.getRange(2, 2, fr.getLastRow()-1, fr.getLastColumn())
      .getValues().map(function(row) {
        return row.filter(String)
      })

  Logger.log(data)
}

Он использует конструктор класса String в качестве предиката для удаления пустых индексов из исходных строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...