逗号出现在 Javascript 呈现的 HTML 中

Ale*_*rig 3 html javascript 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>'
}
Run Code Online (Sandbox Code Playgroud)

但是,当我对此进行测试时,每个条目的表格上方都会出现一个逗号: 逗号上方的表格

谢谢您的帮助。

Rob*_*ban 8

这里的问题是该.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>'
          }
Run Code Online (Sandbox Code Playgroud)