我正在尝试找出js中的模板拼写,但实际上并没有获得语法。此循环在每次发出信号时都会输出多余的逗号:
character = () => {
const traits = ["Kunskap", "Rörlighet","Styrka", "Utstrålning", "Uppfattningsförmåga", "Magisk kraft"];
return `${traits.map(() => '')}`
};
完整代码:
character = () => {
const dice = rndAssign(6, 16),
traits = ["Kunskap", "Rörlighet","Styrka", "Utstrålning", "Uppfattningsförmåga", "Magisk kraft"];
return `<table>
<thead>
<tr>
<td> </td><td>D6</td><td>Mod</td>
</tr>
</thead>
<tbody>
${traits.map(elm => trait(elm))}
</tbody>
</table>`
};
答案 0 :(得分:1)
因为这是数组上的默认toString
行为。您可以在数组上使用join
创建不带逗号的字符串。
const table = () => {
const traits = ["Kunskap", "Rörlighet", "Styrka", "Utstrålning", "Uppfattningsförmåga", "Magisk kraft"];
return `
<table>
<thead><tr><th>Foo</th></tr></thead>
<tbody>${traits.map((e) => `<tr><td>${e}</td></tr>`).join(' ')}</tbody>
</table>
`
};
document.body.innerHTML = table()
table,
th,
td {
padding: 5px;
border: 1px solid black;
}
答案 1 :(得分:1)
我真的不知道您到底想做什么。如果可以使用join对数组进行字符串化处理并获得一个字符串,为什么要循环以及为什么要使用文字。
character = () => {
const traits = ["Kunskap", "Rörlighet","Styrka", "Utstrålning", "Uppfattningsförmåga", "Magisk kraft"];
console.log(traits.join(' '))
};
character();
答案 2 :(得分:1)
在map函数中只返回空字符串,使空数组打印逗号。如果您返回值,那么它将打印值。
字符=()=> {
const traits = [“” Kunskap“,”Rörlighet“,” Styrka“,”Utstrålning“,”Uppfattningsförmåga“,” Magisk kraft“];
返回${traits.map(() => '')}
};
() => {
const traits = ["Kunskap", "Rörlighet","Styrka", "Utstrålning", "Uppfattningsförmåga", "Magisk kraft"];
return `${traits.map(() => '')}`
}
character()
",,,,,"
character = () => {
const traits = ["Kunskap", "Rörlighet","Styrka", "Utstrålning", "Uppfattningsförmåga", "Magisk kraft"];
return `${traits.map((v) => v)}`
};
() => {
const traits = ["Kunskap", "Rörlighet","Styrka", "Utstrålning", "Uppfattningsförmåga", "Magisk kraft"];
return `${traits.map((v) => v)}`
}
character()
"Kunskap,Rörlighet,Styrka,Utstrålning,Uppfattningsförmåga,Magisk kraft"