我有一个javascript数组。
addresses = new Array(document.client.cli_Build.value,
document.client.cli_Address.value,
document.client.cli_City.value,
document.client.cli_State.value,
document.client.cli_Postcode.value,
document.client.cli_Country.value);
document.client.cli_PostalAddress.value = addresses.join(", ");
我必须将所有这些数组值的内容复制到邮政地址文本区域。当我使用上面的连接函数时,已经为空值添加了逗号。如何删除这个多余的逗号?
谢谢
发布于 2015-07-30 01:45:40
另一种过滤器替代方案
myArray.filter(function(val){if(val)return val}).join(", ")
document.write(['this','','',,,,'is','a',,,'test'].filter(function(val){if(val)return val}).join(", "));
发布于 2010-01-25 20:08:46
Underscore是一个很好的函数式编程和列表操作实用程序库:
_.filter(addresses, function(val) { return val !== null; }).join(", ");
编辑:还有一种更紧凑的方式(感谢Andrew De Andrade!):
_.compact(addresses).join(", ");
发布于 2010-01-25 20:02:31
document.client.cli_PostalAddress.value =
document.client.cli_PostalAddress.value.replace(/(, )+/g,", ");
或者应该是
document.client.cli_PostalAddress.value =
document.client.cli_PostalAddress.value
.replace(/(null, )/g,"").replace(/(, null)/g,"");
??
https://stackoverflow.com/questions/2132030
复制相似问题