Поэтапно печатать элементы массива, используя цикл for - PullRequest
0 голосов
/ 10 февраля 2019

Я пытаюсь получить одну строку закомментированного блока для повторения в rowEcho в зависимости от batchLength.Замена всей функции закомментированным «массивом» работает, как и ожидалось.Все это происходит внутри объекта data: [], и я пытаюсь перенести значения на листы Google, чтобы обновить ячейку в каждой строке на столько строк, сколько записей найдено в массиве ответов.

Спасибодля ответов, но ни один из этих вариантов не работает, как ожидалось.Я публикую более полный код, чтобы улучшить область видимости. Как вы можете видеть, я использую запрос preadsheets.values.batchUpdate с API листов, чтобы попытаться выдвинуть новый массив, однако при использовании метода batchUpdate весь диапазон новых данных должен быть известен по порядку.чтобы перезаписать, кажется, нет способа обновить все ячейки в столбце, если у вас нет конца диапазонов, поэтому моя попытка ниже генерировать каждый массив с новыми данными до тех пор, пока в листе есть строки.Грязный я знаю ..

function changeSentValue(auth) {   
      var x = 0;
      for (var x = 0; x < rows.length; x++) {

        // put update spreadt sheet here
        console.log('updating to sent items..');

        const sheets = google.sheets({ version: 'v4', auth });

         sheets.spreadsheets.values.batchUpdate(request, function(err, response) {
            //var rows = response.data.values;

            if (err) {
              console.error(err);
              return;
            }
    ///here

          });

          var request = {
            spreadsheetId: 'xxxxxxxxxxxxxxxxxxxxx',
            resource: {
              valueInputOption: 'RAW',
              includeValuesInResponse: true,
              responseValueRenderOption: "UNFORMATTED_VALUE",

              // The new values to apply to the spreadsheet.
              data: [
                {
                  range: 'Sheet1!A2',
                  majorDimension: "ROWS",
               // values: [[5],[2],[5]]
               values: [

             function getLength ()  {
              var batchRows = response.data.values;
              var batchLength = 13/* batchRows.length */;
              var rowEcho = '[null,null,null,null,null,null,null,null,null,null,\"not\"],'; //col 11
            var y 
              for (y = 0; y < batchLength; y ++) {


                //write(rowEcho);
                 //console.log(rowEcho(y));
                 //these both dont work as expected
                }

                }
                /* [null,null,null,null,null,null,null,null,null,null,"notSent"],
                [null,null,null,null,null,null,null,null,null,null,"notSent"],
                [null,null,null,null,null,null,null,null,null,null,"notSent"],
                [null,null,null,null,null,null,null,null,null,null,"notSent"],
                [null,null,null,null,null,null,null,null,null,null,"notSent"],
                [null,null,null,null,null,null,null,null,null,null,"notSent"],
                [null,null,null,null,null,null,null,null,null,null,"notSent"],
                [null,null,null,null,null,null,null,null,null,null,"notSent"],
                [null,null,null,null,null,null,null,null,null,null,"notSent"],
                [null,null,null,null,null,null,null,null,null,null,"notSent"],
                [null,null,null,null,null,null,null,null,null,null,"notSent"],
                */
              ]


            }
          ],  // TODO: Update placeholder value.

          // TODO: Add desired properties to the request body.
        },

          auth: auth,
        }


      }


      }

Ответы [ 2 ]

0 голосов
/ 10 февраля 2019

Вы на самом деле ничего не печатаете.Предполагая, что вы хотите, чтобы это было напечатано в теле документа, вам нужно обернуть rowEcho в оператор печати, например:

function getLength() {
    var batchLength = 8/* batchRows.length */;
    var rowEcho = '[null,null,null,null,null,null,null,null,null,null,\"not\"],'; //col 11
    var y
    for (y = 0; y < batchLength; y++) {
        document.write(rowEcho);
    }
}
0 голосов
/ 10 февраля 2019
function getLength() {
var batchLength = 8/* batchRows.length */;
var rowEcho = '[null,null,null,null,null,null,null,null,null,null,\"not\"],'; //col 11
var y
for (y = 0; y < batchLength; y++) {
//You forgot to print it
    console.log(rowEcho);
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...