ES6将数组映射到不带逗号的字符串

Fáb*_*tos 18 javascript arrays ecmascript-6

我正在尝试将错误列表映射到我将在工具提示中显示的列表中.列表已添加,但,每个li元素之间都添加了一个.

我想这是因为这基本上errors.map(error => ...).toString()最终会发生.任何想法如何在errors不添加此逗号的情况下映射数组中的字符串?

data-tip = {`
  Precisa de corrigir os seguintes problemas antes de publicar o anúncio:</br>
  <ul>
    ${errors.map(error => `<li>${error}</li>`)}
  </ul>
`}
Run Code Online (Sandbox Code Playgroud)

und*_*ned 25

.toString()数组对象使用的Array.prototype.join方法将数组转换为字符串..join默认情况下,该方法,用于连接元素.你可以替换.toString()使用.join('').


Shu*_*tri 18

在您的代码中,您使用的是模板文字,它返回一个字符串,从而返回代码

 ${errors.map(error => `<li>${error}</li>`)}
Run Code Online (Sandbox Code Playgroud)

使用toString()函数转换为字符串,该函数默认情况下将返回的数组与a连接,.

您可以使用与其他分隔符的连接

{`
  Precisa de corrigir os seguintes problemas antes de publicar o anúncio:</br>
  <ul>
    ${errors.map(error => `<li>${error}</li>`).join(' ')}
  </ul>
`}
Run Code Online (Sandbox Code Playgroud)

  • 你这里有错误。`.join(' ')` 应该在括号内 (3认同)