生成地址所有组合的有效方法 - Javascript

Dav*_*ave 2 javascript string-concatenation servicenow

我们的团队希望根据用户输入的街道、城市、州和邮政编码生成串联地址。问题是很多时候用户可能无法填写所有这四个输入。有没有一种方法可以有效地生成串联地址字段的所有组合,而无需编写 12 个 if 语句?

例如,如果用户填写了所有 4 个字段,我们要返回以下内容:

return current.agency_street + ', ' + current.agency_city + ', ' + current.agency_state + ', ' + current.agency_zip;
Run Code Online (Sandbox Code Playgroud)

如果他们填写了除邮政编码之外的所有内容,我们要返回:

return current.agency_street + ', ' + current.agency_city + ', ' + current.agency_state;
Run Code Online (Sandbox Code Playgroud)

有没有办法在没有所有 if 语句的情况下做到这一点?谢谢!

dgi*_*gig 5

您可以将所有内容推送到数组并过滤掉虚假值。

var values = [];
values.push(agency_street);
values.push(agency_city);
values.push(agency_state);
values.push(agency_zip);
return values.filter(x => x).join(', ');
Run Code Online (Sandbox Code Playgroud)

小提琴: https: //jsfiddle.net/xfqumxox/