Javascript 如何消除字符串文本中的额外空间?

Javascript 如何消除字符串文本中的额外空间?,javascript,ecmascript-6,Javascript,Ecmascript 6,代码如下所示: const documentSigner = `${parameters.signor.surname} ${parameters.signor.name} ${parameters.signor.patronymic || ''}`; 正如你所看到的,如果有赞助,一切都会很好,但如果没有,就会有额外的空间 如何处理此问题?将多余的空间移动到插值中,并且仅当存在主音时,才添加空间 const { surname, name, patronymic } = parameters.

代码如下所示:

const documentSigner = `${parameters.signor.surname} ${parameters.signor.name} ${parameters.signor.patronymic || ''}`;
正如你所看到的,如果有赞助,一切都会很好,但如果没有,就会有额外的空间


如何处理此问题?

将多余的空间移动到插值中,并且仅当存在
主音
时,才添加空间

const { surname, name, patronymic } = parameters.signor;

const documentSigner = `${surname} ${name}${patronymic ? ` ${patronymic}` : ''}`;

将多余的空间移到插值中,并且仅当存在
patronymic
时,才添加空间

const { surname, name, patronymic } = parameters.signor;

const documentSigner = `${surname} ${name}${patronymic ? ` ${patronymic}` : ''}`;
您可以使用JavaScript的“
StringBuilder
”,方法是将要打印的元素添加到数组中,然后调用
Array.prototype.join
方法。这将把所有元素连接成一个字符串,由提供给
join
方法的字符串分隔

这样,您就不必重复连接器字符串,也可以更轻松地维护/改进其功能

var text = [parameters.signor.surname, parameters.signor.name];
if(parameters.signor.patronymic) text.push(parameters.signor.patronymic);
const documentSigner = text.join(" ");
您可以使用JavaScript的“
StringBuilder
”,方法是将要打印的元素添加到数组中,然后调用
Array.prototype.join
方法。这将把所有元素连接成一个字符串,由提供给
join
方法的字符串分隔

这样,您就不必重复连接器字符串,也可以更轻松地维护/改进其功能

var text = [parameters.signor.surname, parameters.signor.name];
if(parameters.signor.patronymic) text.push(parameters.signor.patronymic);
const documentSigner = text.join(" ");

如果变量不是空的,则可以使用三元和嵌套模板字符串为变量添加空格:

函数complexString(val1,val2){
返回`${val1}${val2?`${val2}`:''}!`;
}
log(complexString('hello','world');

log(complexString('hello','')如果变量不是空的,则可以使用三元和嵌套模板字符串为变量添加空格:

函数complexString(val1,val2){
返回`${val1}${val2?`${val2}`:''}!`;
}
log(complexString('hello','world');
log(complexString('hello','')可能重复的可能重复的可能重复的可能重复的可能重复的