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”)
创建的。