我有一个主要的id列表(1,2,3,4,5,6,7,8,9,10)
我有一个我想从主列表中删除的ID列表(2,5,8)
在coldfusion的主列表中过滤这些id的最简单方法是什么?
谢谢!
答案 0 :(得分:6)
ReplaceList:
<cfset l1 = "1,2,3,4,5,6,7,8">
<cfset L2 = "2,5,8">
<cfoutput>#ReplaceList(L1,L2,'')#</cfoutput>
这将为您留下ColdFusion列出的额外逗号。如果要删除它们,请通过数组函数运行它们:
<cfset l1 = "1,2,,3,4,5,6,7,8">
<cfset L2 = "2,5,8">
<cfset L3 = ArrayToList(ListToArray(ReplaceList(L1,L2,'')))>
<cfoutput>#L3#</cfoutput>
答案 1 :(得分:2)
通过Underscore.cfc's without function:
,可以在CF 10+和Railo 4+上实现优雅的解决方案_ = new Underscore();// instantiate the library
// prepare the original list
origList = "1,2,3,4,5,6,7,8,9,10";
origArray = listToArray(origList);
// get a new array of values without 2, 5, or 8
newArray = _.without(origArray, [2, 5, 8]);// returns [1,3,4,6,7,9,10]
然后,如有必要,您可以使用arrayToList()
转换回列表。
注意:我写了Underscore.cfc