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

标签 javascript string-concatenation servicenow

我们的团队希望根据用户输入的街道、城市、州和 zip 生成一个串联地址。问题是很多时候用户可能不会填写所有这四个输入。有没有一种方法可以在不编写 12 个 if 语句的情况下高效地生成连接地址字段的所有组合?

例如,如果用户填写了所有 4 个字段,我们希望返回:

return current.agency_street + ', ' + current.agency_city + ', ' + current.agency_state + ', ' + current.agency_zip;

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

return current.agency_street + ', ' + current.agency_city + ', ' + current.agency_state;

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

最佳答案

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

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

fiddle :https://jsfiddle.net/xfqumxox/

关于javascript - 生成地址所有组合的有效方法 - Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50513352/

相关文章:

javascript - Nodejs,观察类字段的变化

javascript - ServiceNow:JavaScript TypeError:无法读取未定义的属性

python - 如何使用 urllib3 发布 x-www-form-urlencoded 数据

javascript - 如何使用 javascript 更改所有链接

javascript - 使用 SQLite FTS3,如何加入或嵌套 SELECT 语句来获取行加片段?

javascript - 嵌套 NgFor 不起作用 - Angular 2

php - 使用连接创建字符串时在数据库行之间添加逗号

r - 在数据框的特定列之间逐行连接

javascript - 为什么 'join' 比正常连接更快?

button - 如何从 ui 操作触发 ServiceNow 工作流程?