程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了来自 nodemailer 模板电子邮件的电子邮件中的额外孤立字符大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决来自 nodemailer 模板电子邮件的电子邮件中的额外孤立字符?

开发过程中遇到来自 nodemailer 模板电子邮件的电子邮件中的额外孤立字符的问题如何解决?下面主要结合日常开发的经验,给出你关于来自 nodemailer 模板电子邮件的电子邮件中的额外孤立字符的解决方法建议,希望对你解决来自 nodemailer 模板电子邮件的电子邮件中的额外孤立字符有所启发或帮助;

我使用 "nodemailer": "^6.5.0" 使用 HTML 模板发送电子邮件。一切正常,除了当我映射一个数组字段时,我在每个项目后得到一个额外的 , 字符,我无法弄清楚它来自哪里。

来自 nodemailer 模板电子邮件的电子邮件中的额外孤立字符

这是直接从 Gmail 中的 Chrome 检查器复制的呈现电子邮件中的 HTML 元素:

<div>
  <p><b>Brad Stewart 11-03-21 15:26:</b> Another note...</p>,<p><b>Brad Stewart 11-03-21 15:44:</b> And another note ...</p>,<p><b>Brad Stewart 14-03-21 13:07:</b> test again</p>,<p><b>Brad Stewart 14-03-21 13:15:</b> And tesTing again...</p>
</div>

这是 HTML 模板的部分

`<p>
  <b>Notes:</b>
  <div>
    ${task.notes
        ? task.notes.map(
            (notE) =>
              `<p><b>- ${note.created_by_namE} ${moment(note.datE)
                .tz('Australia/Perth')
                .format('DD-MM-YY HH:mm')}:</b> ${note.notE}</p>`
          )
        : '-'
    }
  </div>
</p>`

感谢您提供删除这些孤立字符的任何帮助或想法。

解决方法

数组通过调用 Array.prototype.toString 被转换为字符串,因为它在 template literals 内。 toString 方法返回由逗号连接的数组元素作为字符串。

来自docs,

当数组表示为文本值或在字符串连接中引用数组时,JavaScript 会自动调用 toString 方法。

const arr = ['Note 1','Note 2','Note 3']
console.log(`Notes: ${arr}`)
console.log(arr.toString())

您可以使用 Array.prototype.join 将其显式转换为字符串。

task.notes
  .map(
    (notE) =>
      `<p><b>- ${note.created_by_namE} ${moment(note.datE)
        .tz('Australia/Perth')
        .format('DD-MM-YY HH:mm')}:</b> ${note.notE}</p>`
  )
  .join('')

大佬总结

以上是大佬教程为你收集整理的来自 nodemailer 模板电子邮件的电子邮件中的额外孤立字符全部内容,希望文章能够帮你解决来自 nodemailer 模板电子邮件的电子邮件中的额外孤立字符所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。