我正在使用ejs模板引擎来填充页面上的数据。

我的json文件包含以下字段:

var PhotosSchema = new Schema({
  photo_url: {type: String},
  thumb_url: {type: String},
  hashtags: {type: [String]}
});


到目前为止,我有以下html代码:

<div class="thumbnail">
  <img src=<%= photo.thumb_url %> >
  <div class="caption">
    <p><% for(var i=0; i<photo.hashtags.length; i++) {%>
    <a href="http://example.com/<%=photo.hashtags[i]%>"><%=photo.hashtags[i] %></a>
    <% } %>
    | <a href="<%= photo.photo_url  %>">full resolution</a></p>
  </div>
</div>


并在照片下方显示主题标签,但它们之间没有逗号分隔。例如,它看起来像这样:

one two three


如何修改我的代码,以使其用,符号分隔主题标签,但不将此字符添加到末尾,例如:

one, two, three


这是不正确的:

one, two, three,

最佳答案

对于您的特定用例,添加一个三元运算符。 i != photo.hashtags.length - 1 ? "," : ""

<div class="thumbnail">
    <img src=<%= photo.thumb_url %> >
    <div class="caption">

        <p><% for(var i=0; i<photo.hashtags.length; i++) {%>
        <a href="http://example.com/<%=photo.hashtags[i]%>">
            <%=photo.hashtags[i] %> <%= i != photo.hashtags.length - 1 ? "," : "" %>
        </a>
        <% } %>
        | <a href="<%= photo.photo_url  %>">full resolution</a></p>
    </div>
</div>

关于javascript - 如何在js/css中用逗号分隔数组中的字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47372473/

10-10 00:00