2015-09-11 152 views
1

所以,我有我的网页上这行代码:随机随机化项目列表

<cfoutput><li><a href="#ADDDestination#"><img src="#ADDSlide#" /></a></li> 
<li><a href="#TAPDestination#"><img src="#TAPSlide#" /></a></li> 
<li><a href="#ATHDestination#"><img src="#ATHSlide#" /></a></li> 
<li><a href="#STADestination#"><img src="#STASlide#" /></a></li></cfoutput> 

这些项目都是使用数组随机产生。我怎么能进一步随机订购这4块瓷砖的清单?

+0

数组来自哪里? –

+0

可能要先搜索档案。有几个线程与如何[随机数组]的建议(http://stackoverflow.com/questions/7997810/using-coldfusion-how-do-i-display-the-elements-of-an-array-in - 随机顺序/ 8002517#8002517)和[与查询](http://stackoverflow.com/questions/4016505/help-getting-or-displaying-random-records-in-coldfusion-from-a-mysql-查询)。 – Leigh

回答

4

您可以使用java.util.Collectionsshuffle方法来做到这一点:

<cfscript> 
    items = [ 
     {"id":1, "key":"a"}, 
     {"id":2, "key":"b"}, 
     {"id":3, "key":"c"} 
    ]; 

    Collection = CreateObject("java", "java.util.Collections"); 

    Collection.Shuffle(items); 

    writeDump(items); 
    </cfscript> 

你运行它每一次你会得到不同的顺序的项目。

给马克曼德尔的帽子小贴士介绍给我。