使用javascript动态打印-使用各种条件组件构建字符串

使用javascript动态打印-使用各种条件组件构建字符串,javascript,html,Javascript,Html,只有当输入firstAuthoritials.value.slice(0,1)为空时,我才需要去掉输入firstAuthoritials.value.slice(0,1)后面的逗号。 如果在输入firstAuthoritials.value.slice(0,1)中编写了代码,那么代码可以正常工作 代码如下所示: if(edition.value==“无”){ div.innerHTML+= firstAuthorSurname.value+“,”+ firstAuthorName.value.

只有当输入firstAuthoritials.value.slice(0,1)为空时,我才需要去掉输入firstAuthoritials.value.slice(0,1)后面的逗号。 如果在输入firstAuthoritials.value.slice(0,1)中编写了代码,那么代码可以正常工作

代码如下所示:

if(edition.value==“无”){
div.innerHTML+=
firstAuthorSurname.value+“,”+
firstAuthorName.value.slice(0,1)+“+
FirstAuthoritials.value.slice(0,1)+“+”,“+
年份.价值+
“+title.value+”+
placeOfPublication.value+“:”+
publisher.value+”;

}
创建一个数组,将内容推入其中,然后加入。使用应用于每个元素的逻辑来决定是否要推送它

if(edition.value==“无”){
var stringComponents=[];
stringComponents.push(
firstAuthorSurname.value,
", ", 
firstAuthorName.value.slice(0,1),
"."
);
if(/*某种逻辑*/){
stringComponents.push(firstAuthoritials.value.slice(0,1),“,”);
}
stringComponents.push(
年份.价值+
". ",
标题。价值,
". ",
发布地点。价值,
": ",
publisher.value,
"."
);
div.innerHTML+=stringComponents.join(“”);

}
这个问题需要一个更具体的标题。你试过什么?如果它不起作用,你得到了什么结果?您希望得到什么结果?好吧,检查是否为空,添加条件,然后继续连接?应该没什么大问题吧?我什么都没试过,因为我不知道该怎么解决。你可以试试类似的
…+(firstAuthoritials.value.length?'foo':'bar')+…