Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么Literal循环会输出额外的逗号?_Javascript_Ecmascript 6 - Fatal编程技术网

Javascript 为什么Literal循环会输出额外的逗号?

Javascript 为什么Literal循环会输出额外的逗号?,javascript,ecmascript-6,Javascript,Ecmascript 6,我试图找出js中的模板,但没有真正理解语法。此循环在每个循环之间输出额外的逗号: character = () => { const traits = ["Kunskap", "Rörlighet","Styrka", "Utstrålning", "Uppfattningsförmåga", "Magisk kraft"]; return `${traits.map(() => '')}` }; 完整代码: character = () =

我试图找出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>&nbsp;</td><td>D6</td><td>Mod</td>
                        </tr>
                    </thead>
                    <tbody>
                        ${traits.map(elm => trait(elm))}
                    </tbody>
                </table>`
            };
因为这是数组上的默认toString行为。可以在数组上使用join创建不带逗号的字符串

常数表==>{ const traits=[Kunskap,Rörlighet,Styrka,Utstrålning,uppfattingsförmåga,Magisk kraft]; 返回` 福 ${traits.mape=>`${e}`。加入''} ` }; document.body.innerHTML=表格 桌子 th, 运输署{ 填充物:5px; 边框:1px纯黑;
} 我真的不知道你到底想干什么。如果可以使用字符串化数组并获取字符串,为什么要使用循环和文字

字符==>{ const traits=[Kunskap,Rörlighet,Styrka,Utstrålning,uppfattingsförmåga,Magisk kraft]; 控制台。logtraits。加入“” };
性格 在map函数中只返回空字符串,以便空数组打印逗号。如果返回该值,则它将打印值

字符==>{ const traits=[Kunskap,Rörlighet,Styrka,Utstrålning,uppfattingsförmåga,Magisk kraft]; 返回${traits.map=>} };


你期望得到多少个逗号?你想得到什么?您的映射将用空字符串替换每个元素。这是故意的吗?这实际上与循环或模板文字无关,您只是在对映射返回的数组进行字符串化请检查我的答案,不需要映射。@marekful也许op想对数组的每个元素做些什么。
() => {
    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"