use*_*291 1 javascript ecmascript-6
map返回一个数组但是
我明白了
,
a
b
Run Code Online (Sandbox Code Playgroud)
而不是预期的
a,
b,
Run Code Online (Sandbox Code Playgroud)
let names = ["a", "b"];
template = `<table>
${names.map(name => `<TR><TD>${name}</TD></TR>`)}
</table>
`
let div = document.getElementById("container");
div.innerHTML = template;Run Code Online (Sandbox Code Playgroud)
<div id="container">
</div>Run Code Online (Sandbox Code Playgroud)
因为map返回一个数组,并且模板将其转换为字符串,这意味着您可以在它们之间使用逗号获取数组条目.结果是:
<TR><TD>a</TD></TR>,
<TR><TD>b</TD></TR>
Run Code Online (Sandbox Code Playgroud)
注意
Array#toString调用Array#join只在元素之间放置逗号,而不是在开头或结尾).静态示例:
<table>
<tbody>
<TR><TD>a</TD></TR>,
<TR><TD>b</TD></TR>
</tbody>
</table>Run Code Online (Sandbox Code Playgroud)
底线:用于.join("")完全摆脱逗号:
let names = ["a", "b"];
template = `<table>
${names.map(name => `<TR><TD>${name}</TD></TR>`).join("")}
</table>
`
let div = document.getElementById("container");
div.innerHTML = template;Run Code Online (Sandbox Code Playgroud)
<div id="container">
</div>Run Code Online (Sandbox Code Playgroud)
...或者如果您想在条目后使用逗号,请在模板中手动插入:
let names = ["a", "b"];
template = `<table>
${names.map(name => `<TR><TD>${name},</TD></TR>`).join("")}
</table>
`
let div = document.getElementById("container");
div.innerHTML = template;Run Code Online (Sandbox Code Playgroud)
<div id="container">
</div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
43 次 |
| 最近记录: |