插入HTML时添加逗号的字符串数组

时间:2019-04-04 14:08:44

标签: javascript html arrays

我要在数组中添加一堆名称:

for (const approve of requestApproval[strings.Approve]) {
    approved.push(
        approve.Title + '<br/>'
    );
}

数组:

enter image description here

然后我将其以HTML格式发送到电子邮件中:

<center>
    <table border="0" cellpadding="5" cellspacing="5" style = "border-collapse: collapse;">
        <tr>
            <th>Approved</th>
            <th>Abstained</th>
            <th>Not Approved</th>
        </tr>
        <tr>
            <td align="center">${approved}</td>
            <td align="center">${abstained}</td>
            <td align="center">${disapproved}</td>
        </tr>
    </table>
</center>

结果是从某处插入了逗号:

enter image description here

如何停止逗号或删除逗号?

2 个答案:

答案 0 :(得分:1)

在模板文字中执行此操作时:

Exception User-Unhandled

...您将数组Date静默转换为字符串,从而用逗号分隔数组元素。

为避免这种情况,请执行以下操作之一:

  1. 不构建数组,而是字符串:

    <td align="center">${approved}</td>
    

  2. 使用空字符串作为分隔符,以受控方式转换数组:

    approved

答案 1 :(得分:1)

您需要通过将数组与空字符串(.join(''))连接来将其转换为字符串,否则,JavaScript在将其转换为字符串时会自动以逗号将其连接。

您也可以将for loop替换为Array.prototype.map()

const approved = requestApproval[strings.Approve].map(x => x.Title + '<br/>').join('');

或(但删除最后一个<br>):

const approved = requestApproval[strings.Approve].map(x => x.Title).join('<br/>');

然后将字符串插入html模板字符串中:

<td align="center">${approved}</td>