CFLib.org – Common Function Library Project

ListDeleteDuplicatesNoCase(list)

Last updated July 2, 2008

Version: 1 | Requires: ColdFusion 5 | Library: StrLib

 
Rated 1 time(s). Average Rating: 4.0

Description:
Simply pass it a list and optional delimiter. The function will look for case-insensitive matches, removing any it finds, and return a new list without duplicates.

Return Values:
Returns a list.

Example:

view plain print about
<cfset myList = "apples,oranges,apples,bananas,ORANGES">

<cfoutput>
List before removing dupes: #myList#<br>
List after removing dupes: #ListDeleteDuplicatesNoCase(myList)#
</cfoutput>

Parameters:

Name Description Required
list List to be modified. Yes

Full UDF Source:

view plain print about
<cfscript>
/**
 * Case-insensitive function for removing duplicate entries in a list.
 * Based on dedupe by Raymond Camden
 * 
 * @param list      List to be modified. (Required)
 * @return Returns a list. 
 * @author Jeff Howden (cflib@jeffhowden.com) 
 * @version 1, July 2, 2008 
 */

function ListDeleteDuplicatesNoCase(list) {
  var i = 1;
  var delimiter = ',';
  var returnValue = '';
  if(ArrayLen(arguments) GTE 2)
    delimiter = arguments[2];
  list = ListToArray(list, delimiter);
  for(i = 1; i LTE ArrayLen(list); i = i + 1)
    if(NOT ListFindNoCase(returnValue, list[i], delimiter))
      returnValue = ListAppend(returnValue, list[i], delimiter);
  return returnValue;
}
</cfscript>
blog comments powered by Disqus

Search CFLib.org


Latest Additions

Troy Pullis Troy Pullis added
firstXDayOfMonth
17 day(s) ago

Henry Ho Henry Ho added
arrayMap
30 day(s) ago

Henry Ho Henry Ho added
queryGetRow
a while ago

Tony Felice Tony Felice added
getRowFromQuery
a while ago

Top Rated

Darwan Leonardo Sitepu backupDatabase
Rated 5.0, 44 time(s)

Barney Boisvert indentXml
Rated 5.0, 12 time(s)

Rachel Lehman deAccent
Rated 5.0, 8 time(s)

Markus Schneebeli                                 ListRemoveByStri...
Rated 5.0, 4 time(s)

Created by Raymond Camden / Design by Justin Johnson