为什么我的对象以等号而不是分号/对象字面量符号记录?

时间:2019-05-22 21:13:45

标签: google-apps-script google-apps-script-editor

我要解决如何让我的构造函数以对象字面量符号创建电子邮件草稿ID /主题数组的工作最为困难。

具体地说,我创建了一个构造函数,该构造函数将每个电子邮件草稿的主题和id作为对象放入数组:

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 个答案:

答案 0 :(得分:1)

Logger.log将它们转换为=以便显示。基础数据仍然是有效的JavaScript对象。

尝试

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