Yulia
Yulia

Reputation: 151

How to separate values in array by comma with Apps Script

I am trying to get filter values in array, separated by comma in Apps Script. To illustrate, here is my function:

function filterReport(){
 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var dataSheet = ss.getSheetByName('DATA');
 var emailds = getColumnNrByName(dataSheet, 'Email');
 var emailFilters = dataSheet.getRange(2, emailds, dataSheet.getLastRow() -1).getValues();

  for (var i = 0; i < emailFilters.length; i++) {

    var payload = JSON.stringify({
    'reportMetadata': {
    'reportFilters': [{  
      'value' : emailFilters[i][0],
      'column': 'EMAIL',
      'operator': 'equals' 
   }]
   }
    });

      Logger.log(payload)

}
 }

This is what I get:

[16-08-09 10:54:34:612 PDT] {"reportMetadata":{"reportFilters":[{"value”:”[email protected]","column":"EMAIL","operator":"equals"}]}}
[16-08-09 10:54:34:613 PDT] {"reportMetadata":{"reportFilters":[{"value":"[email protected]","column":"EMAIL","operator":"equals"}]}}
[16-08-09 10:54:34:613 PDT] {"reportMetadata":{"reportFilters":[{"value":"[email protected]","column":"EMAIL","operator":"equals"}]}}
[16-08-09 10:54:34:614 PDT] {"reportMetadata":{"reportFilters":[{"value":"[email protected]","column":"EMAIL","operator":"equals"}]}}

And I need:

{"reportMetadata":{"reportFilters":[{"value”:”[email protected], [email protected], [email protected], [email protected]","column":"EMAIL","operator":"equals"}]}}

Thanks!

Upvotes: 2

Views: 5749

Answers (2)

Max G
Max G

Reputation: 11

I used Cordeiro split with an array of emails from a sheet and it worked well.

I took a column of emails as an array and then use the split:

//Array
var EMAILS = emss.getRange(["C3:"+"C"+em_wlr]).getDisplayValues();
//Split
var emails_cs = EMAILS.toString().split(",").join();

Then I can use in the MailApp:

MailApp.sendEmail(emails_cs, templateSubject, templateText);

Upvotes: 1

M. A. Cordeiro
M. A. Cordeiro

Reputation: 479

Have you already tried to use the split command ? By using this command you can turn a string into an array.

You can take a look at this link for mode details:

String.prototype.split()

Upvotes: 3

Related Questions