When I declare the variable and in the next statement assign values via plus equals (+=) operator by concatenating other variables and text, I receive all data stored in my object. However, it is preceded by 'undefined'. In an effort to remove the initial undefined status of the variable, I have defined it ahead of the concatenation, however, this then breaks my plus equals operator, truncating the results.
for (var j = 0; j < itemResponses.length; j++) {
var itemResponse = itemResponses[j];
var responseTitle = itemResponse.getItem().getTitle();
var responseAnswer = itemResponse.getResponse();
var responseComplete; // Inserts undefined at start of log
// var responseComplete = ""; // Breaks += operation
// var responseComplete = new String(); // Breaks += operation
responseComplete += (responseTitle + ": " + responseAnswer + "; ");
}
Logger.log(stringData);
Log for var responseComplete;
[16-09-15 15:38:02:256 PDT] undefinedName: Name;
Member Number: 0000;
Date: 2016-09-09 09:00;
Duration: 00:00:09;
// **** Inserts 'undefined' at head of log
Log for var responseComplete = new String();
[16-09-15 15:39:02:610 PDT] Duration: 00:00:09;
// **** Breaks += operator.
Log for var responseComplete = "";
[16-09-15 15:39:42:010 PDT] Duration: 00:00:09;
// **** Breaks the += operator.
Insight into my misunderstanding of the language is greatly appreciated.
(this project is written and executed in Google Apps Script Editor)