Скрипт приложений Google: выравнивание строк во время отображения - PullRequest
0 голосов
/ 19 июня 2020

Я хочу обновить раскрывающийся список формы Google, используя конкатенацию 3 столбцов (массивы со ссылкой на код). Вывод выглядит правильным, но выравнивание по-прежнему не правильное даже после заполнения отдельных строк. Вот мой пример кода:

function updateForm1(){

  var items = [ ["apple", "organic", "101"], ['banana', 'small', '102'], ['pomegranate', 'medium', '1']];
  var itemnames = ['apple' , 'banana', 'pomegranate'];
  var description = ['organic' , 'small', 'medium'];
  var ordercode = ['101', '102', '1'];
  var l1 = itemnames.reduce(function (a, b) { return a.length > b.length ? a : b; }).length;
  var l2 = description.reduce(function (a, b) { return a.length > b.length ? a : b; }).length;
  var l3 = ordercode.reduce(function (a, b) { return a.length > b.length ? a : b; }).length;


  var dropdownlist = [];
  for (var i =0 ; i < items.length; i++)
  {
    if(items[i][0].length > 0) {
      items[i][0] = items[i][0].padEnd(l1,"*"); 

    }
    else 
      items[i][0] = "".padEnd(l1,"*"); 
    if(items[i][1].length > 0) {
      items[i][1] = items[i][1].padEnd(l2,"*");

    }
    else 
      items[i][1] = "".padEnd(l2,"*"); 
    if(items[i][2].length > 0) {
      items[i][2] = items[i][2].padEnd(l3,"*");

    }
    else 
      items[i][2] = "".padEnd(l3,"*"); 
    dropdownlist[i] = items[i][0] + " | " + items[i][1] + " | " + items[i][2];
    Logger.log(dropdownlist[i]);

  }


}

Журнал:

[20-06-19 12:12:47:845 IST] apple****** | organic | 101
[20-06-19 12:12:47:848 IST] banana***** | small** | 102
[20-06-19 12:12:47:849 IST] pomegranate | medium* | 1**

Но когда я обновляю форму или просматриваю журнал, значения кажутся не выровненными. См. Pi c ниже. Как сделать так, чтобы значения раскрывающегося списка были выровнены по столбцам? enter image description here

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