用javascript将单独的地址字符串序列化为一个
serializing separate address string into one in javascript
您可能已经知道如何将地址解析为单独的部分,如单元号/街道号/街道名称/城镇/州等。。。这里几乎有类似的问题。我想将那些单独输入的数据序列化为一个。例如,我有
Level /
Unit number /
Street number /
Street name /
Street type /
Town /
State /
Post code / Etc...
假设用户输入
空白/空白/10/弗林德斯/车道/空白/VIC/3000
然后我想把信息放在一个字符串中,比如
弗林德斯巷10号VIC 3000
我目前正在做以下
if (level !== '' && level !== 0) {string = level + '/';}
if (unit !== '' && unit !== 0) {string += unit;}
if (streetNo !== '' && streetNo !== 0) {string += '/' + streetNo + ' ';}
else {string += ' ';}
string += streetName + ' ' + streetType + ' ';
if (town !== '' && town !== '--' && town !== 0) {string += town + ' ';}
else {string += ' ';}
string += state;
它是硬编码的,但我想不出更好的方法。我想知道是否有更好、高效、专业的方式来实现这一点。
因为您想要在字符串上使用的分隔符似乎会根据它们所遵循的字符串的哪一部分而有所不同(有些具有'/'
,另一些具有' '
),因此您可能无法在那里做很多事情。
如果分隔符始终相同(例如空格),则可能使用数组,然后使用join
:
var parts = [];
if (level !== '' && level !== 0) parts.push(level);
if (unit !== '' && unit !== 0) parts.push(unit);
if (streetNo.g !== '' && streetNo.g !== 0) parts.push(streetNo.g);
if (streetName !== '' && streetName !== 0) parts.push(streetName);
if (streetType !== '' && streetType !== 0) parts.push(streetType);
if (town !== '' && town !== 0 && town !== '--') parts.push(town);
if (state !== '' && state !== 0) parts.push(state);
string = parts.join(' ' );
相关文章:
- Ajax发布表单序列化,发布引号'
- 序列化数据属性中对象的最可靠方法
- YUI3 IO实用程序是否可以根据给定的内容类型标头值自动序列化数据
- 为什么JSON.stringify没有序列化原型值
- 有没有一个Nodejs库可以序列化和反序列化命名组件的路径(比如URL路径名)
- 编写一个序列,在任何地方都没有 0
- 是否可以在javascript中反序列化java对象
- jQuery Ajax数组序列化错误
- 对象序列化,JAVA,Javascript
- 在js中有一个cookie保存序列化的svgs
- 如何在序列化和提交表单之前将值从一个函数传递到另一个函数
- Jquery可排序序列化程序提供了一个空对象数组
- 我得到了一个JSON/Javascript对象,因为我可以在控制台中看到它,但我如何让它序列化并使我的数据绑定到我的Ui
- 根据递归ul中的输入获取一个表单的序列化数组
- 在JavaScript中,是否有一个词来描述可json序列化的对象
- 我怎么做才能在Javascript中有一个可序列化的谓词?
- 使用c#在json中序列化一个函数作为参数
- 如何创建嵌套在另一个对象中的序列化对象集
- 制作一个不序列化javascript的一对多表单html
- Ajax/Json错误:";在序列化类型为"0"的对象时检测到循环引用;当试图带来一个列表