Struct 有序结构中的最后一个键
我正在构建一个有序的结构Struct 有序结构中的最后一个键,struct,coldfusion,cfml,coldfusion-2016,Struct,Coldfusion,Cfml,Coldfusion 2016,我正在构建一个有序的结构 stMbr = [:]; 添加了很多很多字段 stMbr.Name = ""; stMbr.Address = ""; stMbr.City = ""; ... 最终我找到了最后一个被添加的字段。在构建有序结构之后,我需要处理它 for (key in stMbr) { ... } 当我处理最后一个关键点时,我需要这样做注意我点击了最后一个关键点 有没有办法知道有序结构中最后一个键是什么 结果不是那么难。我只需要使用keylist()成员函数 if (ke
stMbr = [:];
添加了很多很多字段
stMbr.Name = "";
stMbr.Address = "";
stMbr.City = "";
...
最终我找到了最后一个被添加的字段。在构建有序结构之后,我需要处理它
for (key in stMbr) {
...
}
当我处理最后一个关键点时,我需要这样做注意我点击了最后一个关键点
有没有办法知道有序结构中最后一个键是什么 结果不是那么难。我只需要使用keylist()成员函数
if (key == listlast(stMbr.keylist())) {
...
}
更新的答案
与其重新处理相同的列表,不如保留最后一个键
lastKey = listlast(stMbr.keylist());
for (key in stMbr) {
...
if (key == lastKey) {
...
}
}
这不是很有效率,是吗?您想对最后一个元素做什么?当有一个有序结构时,您可能知道哪个元素是最后一个,并处理该元素。我正在将有序结构传递到csv生成器中。最后一个需要行分隔符,而不是列分隔符。因此我需要知道我什么时候是最后一个循环。是的,但是你可以在循环之前这样做,所以它只执行一次。编辑哪个。。。你已经明白了。不要介意。你说的有序结构是什么意思?你是说键值的排序顺序?ColdFusion的较新版本有一种称为order struct的数据类型。它就像一个结构,但它们保留了键的顺序。它是通过使用
[:]
或更详细的StructNew(“Ordered”)
创建的。