Поставьте = перед переходом текста

Nov 15 2020

Здравствуйте, я сделал этот скрипт для экспорта данных из столбца в .txt на моем диске Google

function maquinasBonusHunt() {
  var ss = SpreadsheetApp.getActive();
  var sheet = ss.getActiveSheet();
  var range = sheet.getRange('G3:G' + sheet.getLastRow());
  var rows = range.getValues().filter(([g]) => g.toString() != "");
  var fileName="maquinas.txt";
  var folderName="Videos";
  var data = rows.splice(0);
  var str = data.map(function(e) {return e.join()}).join("\n");
  var separador = [" - ", " = "];
  var content = str;

  // get list of folders with matching name
  var folderList = DriveApp.getFoldersByName(folderName);  
  if (folderList.hasNext()) {
    // found matching folder
    var folder = folderList.next();

    // search for files with matching name
    var fileList = folder.getFilesByName(fileName);

    if (fileList.hasNext()) {
      // found matching file - append text
      var file = fileList.next();
      var combinedContent = content;
      file.setContent(combinedContent);
    }
    else {
      // file not found - create new
      folder.createFile(fileName, content);
    }
  }
}

Все в порядке, но мне нужно поставить «=», прежде чем они перейдут к другому тексту, например y, показанному на скриншоте. https://i.stack.imgur.com/xvXDA.png

Ответы

1 Tanaike Nov 15 2020 at 13:18

Я считаю вашей целью следующее.

  • Вы хотите добавить =к последнему символу каждой строки.

Для достижения вашей цели предлагаю следующую модификацию.

Схема 1:

В этом шаблоне =добавляется при joinзапуске.

Из:

var str = data.map(function(e) {return e.join()}).join("\n");

Кому:

var str = data.map(function(e) {return e.join()}).join("=\n") + "=";

Схема 2:

В этом шаблоне =добавляется после того, как filterбыл использован.

Из:

var rows = range.getValues().filter(([g]) => g.toString() != "");

Кому:

var rows = range.getValues().filter(([g]) => g.toString() != "").map(([v]) => [v + "="]);

Рекомендации:

  • присоединиться()
  • фильтр()
  • карта()