逗号出现在Javascript呈现的HTML中

时间:2018-04-04 05:35:39

标签: javascript html contentful

我使用Javascript和Contentful呈现HTML。

我的代码:

contentfulClient.getEntries({
   content_type: PRODUCT_CONTENT_TYPE_ID,
   order: '-fields.dateRated'
})
.then(function(entries) {
   container.innerHTML = renderProducts(entries.items)
})

function renderProducts(products) {
   return '<table id="film-table"><tr><th>Name</th><th>Rating</th></tr><tr><td>Check back tomorrow</td><td class="rating-cell"></td></tr>' +
   products.map(renderSingleProduct) +
   '</table>'
}

但是,当我测试时,每个条目的表格上方都会出现一个逗号: commas above table

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

这里的问题是.map函数返回一个数组。因此,当您将products.map(renderSingleProduct)添加到现有字符串时,它会将此数组转换为字符串,其中包含,作为分隔符。

如果你在最后添加一个.join('')调用,一切都应该没问题,因为这会将数组变回一个带有提供的分隔符的字符串。

function renderProducts(products) {
   return '<table id="film-table"><tr><th>Name</th><th>Rating</th></tr><tr> 
          <td>Check back tomorrow</td><td class="rating-cell"></td></tr>' 
            +
            products.map(renderSingleProduct).join('') +
          '</table>'
          }