像这样的东西应该工作。循环遍历第一个列表中的每个项目,并与列表 2 和 3 中的每个项目进行组合,然后检查以确保其不在已知列表中,如果没有,则将其添加到组合列表中。
<cfset list1 = "1,2,3" />
<cfset list2 = "4,5,6" />
<cfset list3 = "7,8,9,1" />
<cfset combinations = [] />
<cfloop list="#list1#" index="i">
<cfif not arrayFind(combinations,i)>
<cfset arrayAppend(combinations,i) />
</cfif>
<cfloop list="#list2#" index="y">
<cfif not arrayFind(combinations,y)>
<cfset arrayAppend(combinations,y) />
</cfif>
<cfif not arrayFind(combinations, "#i#,#y#")>
<cfset arrayAppend(combinations,"#i#,#y#") />
</cfif>
<cfloop list="#list3#" index="z">
<cfif not arrayFind(combinations,z)>
<cfset arrayAppend(combinations,z) />
</cfif>
<cfif not arrayFind(combinations, "#i#,#y#,#z#")>
<cfset arrayAppend(combinations,"#i#,#y#,#z#") />
</cfif>
</cfloop>
</cfloop>
</cfloop>
<cfdump var="#combinations#" />