我正在尝试使用多个字符作为ColdFusion列表中的分隔符,如{{1}}(逗号和空白),但它忽略了空白。
然后我尝试使用:
{{1}}
但是它也忽略了空白而没有空白的列表项目难以阅读。
有什么想法吗?
答案 0 :(得分:1)
我认为你的方法存在根本性的缺陷。列表分隔符是数据的结构的一部分,而当您从列表中输出数据时,您也尝试将其用于“装饰”。虽然这通常很方便,但它有点混淆了两个想法。
你应该做的是完全避免使用列表作为数据结构,因为它们有点废话。使用数组存储数据,然后将其作为一个单独的问题处理:编写一个渲染函数,在显示器中放置你想要的任何分隔符。
function displayArrayAsList(array, separator){
var list = "";
for (var element in array){
list &= (len(list) ? separator : "");
list &= element;
}
return list;
}
writeOutput(displayAsList(["tahi", "rua", "toru", "wha"], ", "));
tahi,rua,toru,wha
答案 1 :(得分:1)
使用两步过程。第1步 - 创建逗号分隔列表。第2步
yourList = replace(yourList, ",", ", ", "all");
答案 2 :(得分:0)
使用ListAppend,您只能使用一个分隔符。正如文档所说的delimiters参数:
如果此参数包含多个字符,则ColdFusion仅使用第一个字符。
我不确定a[ idx ].title
包含的内容或预期结果究竟是什么(如果你给出一个完整的例子会更好),但我认为这样的事情会做你想要的或至少让你开始:
<cfscript>
a = [
{"title"="One"},
{"title"="Two"},
{"title"="Three"}
];
result = "";
for (el in a) {
result &= el.title & ", ";
}
writeDump(result);
</cfscript>