Почему мои объекты регистрируются со знаками равенства, а не с точкой с запятой / буквенной нотацией объекта? - PullRequest
1 голос
/ 23 мая 2019

Мне сложнее всего разобраться, как заставить мой конструктор создать массив моих черновых идентификаторов / предметов электронной почты в буквенной нотации объекта.

В частности, я создал свой конструктор, который помещает тему и идентификатор каждого черновика электронной почты как объект в массив:

function draft(id, subject) {
  this.emailId = id;
  this.emailSubject = subject;
}

Затем, когда я использую этот конструктор, чтобы поместитьнесколько писем в массив (код ниже использует данные, которые я вручную установил в качестве теста) ....

function seeDraftMessages() {
  var testArray = [];
  testArray.push(new draft(12412, 'test subject 1'));
  testArray.push(new draft(75162, 'test subject 2'));
  var testArrayDetails = [];
  testArray.forEach(function(msg) {
    Logger.log(msg);
  });
};

Я получаю это как вывод в журналах:

[19-05-22 14:35:06:863 CDT] {emailId=12412.0, emailSubject=test subject 1}
[19-05-22 14:35:06:864 CDT] {emailId=75162.0, emailSubject=test subject 2}

Проблема заключается в том, что эти объекты не находятся в буквальном обозначении объекта, поэтому мне трудно работать с ними в моем HTML-интерфейсе.Мне нужно, чтобы они были отформатированы следующим образом:

[19-05-22 14:35:06:863 CDT] {emailId: '12412', emailSubject: 'test subject 1'}
[19-05-22 14:35:06:864 CDT] {emailId: '75162', emailSubject: 'test subject 2'}

Любая помощь будет принята с благодарностью!

Дэвис

1 Ответ

1 голос
/ 23 мая 2019

Logger.log преобразует их в = для целей отображения.Базовые данные по-прежнему являются действительными объектами JavaScript.

Попробуйте

Logger.log(JSON.stringify(msg));
...