ColdFusion – razlike i podudarnosti u listama

Problem: kako naći elemente koji su u listama zajednički, a kako one koji su u njima različiti

Rješenje:


<cffunction name="listCommon" output="false" returnType="string">
 <cfargument name="list1" type="string" required="true" />
 <cfargument name="list2" type="string" required="true" />

  <cfset var list1Array = ListToArray(arguments.List1) />
  <cfset var list2Array = ListToArray(arguments.List2) />

  <cfset list1Array.retainAll(list2Array) />

 <cfreturn ArrayToList(list1Array) />

</cffunction>

 <cffunction name="listCompare" output="false" returnType="string">
  <cfargument name="list1" type="string" required="true" />
  <cfargument name="list2" type="string" required="true" />

   <cfset var list1Array = ListToArray(arguments.List1) />
   <cfset var list2Array = ListToArray(arguments.List2) />

   <cfset list1Array.removeAll(list2Array) />

  <cfreturn ArrayToList(list1Array) />

 </cffunction>

 <cfset list1 = "1,2,3,4,5">

 <cfset list2 = "1,4,5,6,7">

 <!--- vraća brojeve elemente liste koji su u obje liste --->
 <cfset zajednicko = listCommon(list1,list2)>

 <!--- miče zajedničko i ostavlja samo ono što je u listi 1 --->
 <cfset samo_u_listi_1= listCommon(list1,zajednicko)>

 <!--- miče zajedničko i ostavlja samo ono što je u listi 2 --->
 <cfset samo_u_listi_2= listCommon(list2,zajednicko)>

http://www.isummation.com/blog/list-common-and-list-compare-in-coldfusion/


Comments are closed.