arrayFind

These functions searches the array for the specified object. Returns the index in the array of the first match, or 0 if there is no match.

arrayFind(array, object) → returns numeric

Member Function Syntax

someArray.find(object)

arrayFind Argument Reference

array array
Required

The array you are searching.

object any
Required

The value you are looking for in the array. CF 10+ or Lucee 4.5+ support passing a closure function in this argument as well.

Compatibility

ColdFusion:

Version 9+ CF10+ Added support for closure instead of object

Lucee:

Lucee4.5+ Added support for closure instead of object

Examples sample code invoking the arrayFind function


Find an "apple" in an array of Fruit

Returns the index of the element "apple" in the array

writeOutput( arrayFind( ["orange","pineapple","apple"], "apple" ));

Expected Result: 3


Member Functions: Find an "apple" in an array of Fruit

Calls the find member function of the array object. Requires CF 11+ or Lucee 4.5+

fruit = [ "orange", "pineapple", "apple" ];
writeOutput( fruit.find( "apple" ) );

Expected Result: 3


arrayFind is Case Sensitive

Case sensitive so "Apple" is not in the array, returns 0. Use arrayFindNoCase for case insensitive matching.

writeOutput( arrayFind(["orange","pineapple","apple"], "Apple") );

Expected Result: 0


Using arrayFind with a closure / callback function

CF 10+ Lucee 4.5+ The arrayFind function passes each array value into the supplied function. The function returns a boolean, true if you found what you are looking for. The result of the arrayFind function is the index of the first matching array element found, or 0 if not found. Use arrayFindAll to return an array of all found item indexes.

a = [5,4,3,2,1];
pos = arrayFind(a, function(item) {
	return item == 2;
});
writeOutput(pos);

Expected Result: 4


Fork me on GitHub