如何仅在JavaScript中存在中间名时添加空格,以及仅在JavaScript中存在后缀时添加空格?

如何仅在JavaScript中存在中间名时添加空格,以及仅在JavaScript中存在后缀时添加空格?,javascript,string,Javascript,String,我有4个输入字段,分别是first、middle、last和后缀,只需要名字和姓氏。仅当提供了中间名时,我想在名字后添加空格;如果提供了后缀,则在姓氏后仅添加逗号 Ex. Joe Smith -> "Joe Smith" Joe Jon Smith -> "Joe Jon Smith" Joe Smith Jr -> "Joe Smith, Jr" Joe Jon Smith Jr -> "Joe Jon Smith, Jr" 试试这个: const formatte

我有4个输入字段,分别是first、middle、last和后缀,只需要名字和姓氏。仅当提供了中间名时,我想在名字后添加空格;如果提供了后缀,则在姓氏后仅添加逗号

Ex. 
Joe Smith -> "Joe Smith"
Joe Jon Smith -> "Joe Jon Smith"
Joe Smith Jr -> "Joe Smith, Jr"
Joe Jon Smith Jr -> "Joe Jon Smith, Jr"
试试这个:

const formattedName=`${first}${middle?`${middle}`:''}${last}${suffix?`,${suffix}:'}`

作为替代方法,您可以使用正则表达式删除连续空格,以及未指定后缀的任何尾随逗号

函数formattedName(firstName='',middleName='',lastName='',后缀=''){
返回`${firstName}${middleName}${lastName},${suffix}`
.替换(/\s+/,“”)
.替换(/,$/,'');
}
log(格式化名称('John','''Smith','');
log(格式化名称('John','Jacob','Smith','');
log(格式化名称('John','Smith','Jnr');

log(格式化名称('John','Jacob','Smith','Jnr')
如果您需要根据条件执行某些操作,请使用
If
。有什么问题吗?你试过什么?请出示密码