2009-06-30 31 views
3

我在CF表示为结构例如阵列数据:停止的ColdFusion从排序我的结构/阵列

var foo = [{key = 'bar', value = 'baz', ... }...]; 

这种结构被遍历顺序,然后翻译成另一种相关的结构,它看起来像:

foo2[key] = {key = 'bar', value = 'baz', ...}; 

然后发送到SerializeJSON()方法并发送到浏览器。问题在于foo或foo2中的键的顺序是按字母顺序排列的,而不是按照它们添加的顺序排列。这会导致客户端出现问题,因为此集合会再次迭代并预计会被排序。有什么建议么?

回答

10

如果您的集合预计需要排序,则需要使用数组。

结构不保证任何顺序,也不应该如此使用。

+1

除了使用数组之外,还可以保留结构并包含具有所需顺序的结构键的数组。这样你就可以通过密钥同时具有可预测的迭代*和*快速访问对象。 – Tomalak 2009-06-30 18:47:41