CFLib.org – Common Function Library Project

arrayOfStructsFind(array, searchKey, value)

Last updated June 11, 2009

Version: 0 | Requires: ColdFusion 5 | Library: DataManipulationLib

 
Rated 0 time(s). Average Rating: 0

Description:
This function searches for an element in an array of structures, using the key name and a value as criteria.

Return Values:
Returns the numeric index of a match.

Example:

view plain print about
<cfset aOfStructs = arrayNew(1)>
<cfset arrayAppend(aOfStructs,structNew())>
<cfset aOfStructs[arrayLen(aOfStructs)].firstName = "Jeff">
<cfset aOfStructs[arrayLen(aOfStructs)].lastName = "Tapper">
<cfset aOfStructs[arrayLen(aOfStructs)].city = "Astoria">
<cfset arrayAppend(aOfStructs,structNew())>
<cfset aOfStructs[arrayLen(aOfStructs)].firstName = "Jon">
<cfset aOfStructs[arrayLen(aOfStructs)].lastName = "Tapper">
<cfset aOfStructs[arrayLen(aOfStructs)].city = "Brookline">
<cfset arrayAppend(aOfStructs,structNew())>
<cfset aOfStructs[arrayLen(aOfStructs)].firstName = "Dan">
<cfset aOfStructs[arrayLen(aOfStructs)].lastName = "Tapper">
<cfset aOfStructs[arrayLen(aOfStructs)].city = "Suffield">

<cfoutput>
#ArrayOfStructsFind(aOfStructs,"lastName","Tapper")#<BR>
#ArrayOfStructsFind(aOfStructs,"city","Suffield")#
</cfoutput>

Parameters:

Name Description Required
array Array to search. Yes
searchKey Key to check in the structs. Yes
value Value to search for. Yes

Full UDF Source:

view plain print about
<cfscript>
/**
 * Returns the position of an element in an array of structures.
 * 
 * @param array      Array to search. (Required)
 * @param searchKey      Key to check in the structs. (Required)
 * @param value      Value to search for. (Required)
 * @return Returns the numeric index of a match. 
 * @author Nath Arduini (nathbot@gmail.com) 
 * @version 0, June 11, 2009 
 */

function arrayOfStructsFind(Array, SearchKey, Value){
    var result = 0;
    var i = 1;
    var key = "";
    for (i=1;i lte arrayLen(array);i=i+1){
        for (key in array[i])
        {
            if(array[i][key]==Value and key == SearchKey){
                result = i;
                return result;
            }
        }
    }
    
    return result;
}
</cfscript>
blog comments powered by Disqus

Search CFLib.org


Latest Additions

Tayo Akinmade Tayo Akinmade added
arrayTrim
11 day(s) ago

Will Belden Will Belden added
longTime
17 day(s) ago

James Sleeman James Sleeman added
quickSort
27 day(s) ago

Ben Forta Ben Forta added
GetHostAddress
30 day(s) ago

Top Rated

Darwan Leonardo Sitepu EksporSQLData
Rated 5.0, 16 time(s)

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

Barney Boisvert indentXml
Rated 5.0, 10 time(s)

Kevin Pepperman generateSsccAsn
Rated 5.0, 4 time(s)

Created by Raymond Camden / Design by Justin Johnson