получить первый столбец в массиве - PullRequest
0 голосов
/ 19 октября 2018

У меня есть лист, и мне нужно получить значения (адреса электронной почты) определенного столбца, в данном случае это C.Давайте предположим, что в столбце три электронных письма.Журнал дает мне:

"[[email1], [email2], [email3]]"

Чтобы продолжить работу со сценарием, мне нужно, чтобы массив выглядел так:

"[email1, email2, email3]"

Так что без внешних скобок.Я знаю, что могу настроить таргетинг только на «[email1]», добавив «[0]» за «.getValues ​​()».Я попробовал что-то вроде «[[все]]», но это не сработало.Что я должен изменить?Я знаю, это, вероятно, довольно простой, но я абсолютный новичок, благодарен за любую помощь.

function myFunction() {

  // Variables
  var id = "ID";
  var spreadSheet = SpreadsheetApp.openById(id);
  var inputSheet = spreadSheet.getSheetByName("inputSheet");
  var inputLR = inputSheet.getLastRow();
  var emailsAll = inputSheet.getRange(2, 3, inputLR).getValues();

  Logger.log(emailsAll);
}

Ответы [ 2 ]

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

Попробуйте Array#map или Array#forEach

var em = emailsAll.map(function(e){return e[0];});//[[e],[e],[e]]=>[e,e,e]
0 голосов
/ 19 октября 2018

getValues() возвращает двумерный массив, представляющий строки и столбцы в диапазоне.Подробнее читайте в справочнике разработчика .

Перебирайте этот массив для доступа к значениям.

for(var row=0;row<emailsAll.length;row++){
   for(var col=0;col<emailsAll[row].length;col++){
      var cellValue = emailsAll[row][col];
      Logger.log(cellValue);
   }
}

Справочный материал о for петлях здесь и здесь .

Пример на простом js:

var emailsAll = [["email1"],["email2"],["email3"]];
for(var row=0;row<emailsAll.length;row++){
  for(var col=0;col<emailsAll[row].length;col++){
    var cellValue = emailsAll[row][col];
    console.log(cellValue);
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...