我如何通过键而不是值对冷fusion结构进行排序。
structSort(struct, "text", "asc")
它分类值,但我想对键进行排序。
有人知道该怎么做吗?
谢谢
如果您在CF2016上,则可以使用structNew("ordered")
创建一个保持其插入顺序的结构。
orderedStruct = structNew("ordered");
structKeys = structKeyArray(struct);
arraySort(structKeys, "text", "asc");
for (key in structKeys) {
orderedStruct[key] = struct[key];
}
writeDump(orderedStruct);
在CF的较旧版本上,您必须依靠Java的LinkedHashmap。
orderedStruct = createObject("java", "java.util.LinkedHashMap").init();
,但是要注意orderedStruct
关键名称的现在是案例敏感的!另请注意,倾倒结构将以字母顺序显示条目。但是,在结构上循环会产生正确的顺序。