arraySlice2(thisArray [, start] [, length])
Last updated June 11, 2009
Version: 0 | Requires: ColdFusion MX | Library: DataManipulationLib
Description:
An arraySlice using Java 1.4 ArrayList built-in method subList(int from, int to).
Return Values:
Returns an array.
Example:
<cfloop index="i" from="1" to="100">
<cfset myArray[i] = i />
</cfloop>
<cfdump var="#myArray#">
<cfset myArray2 = arraySlice2(myArray) />
<cfdump var="#myArray2#">
<cfset myArray2 = arraySlice2(myArray, 90) />
<cfdump var="#myArray2#">
<cfset myArray2 = arraySlice2(myArray, 99, 10) />
<cfdump var="#myArray2#">
Parameters:
| Name | Description | Required |
|---|---|---|
| thisArray | Array to slice. | Yes |
| start | Starting value (defaults to 1). | No |
| length | Length of slice (defaults to 0 which will return the entire rest of the items after the start value). | No |
Full UDF Source:
<!---
An arraySlice using Java 1.4 ArrayList built-in method.
@param thisArray Array to slice. (Required)
@param start Starting value (defaults to 1). (Optional)
@param length Length of slice (defaults to 0 which will return the entire rest of the items after the start value). (Optional)
@return Returns an array.
@author G.Arlington (germann_arlington@yahoo.co.uk)
@version 0, June 11, 2009
--->
<cffunction name="arraySlice2" returntype="array" output="false">
<cfargument name="thisArray" required="true" type="array" />
<cfargument name="start" required="false" type="numeric" default="1" />
<cfargument name="length" required="false" type="numeric" default="0" />
<cfset var resArray = createObject("java", "java.util.ArrayList").Init(arguments.thisArray) />
<cfset var thisArrayLen = ArrayLen(arguments.thisArray) />
<cfset var finish = 0 />
<cfif (arguments.length EQ 0) OR ((arguments.start + arguments.length - 1) GT thisArrayLen)>
<cfset arguments.length = thisArrayLen - arguments.start + 1 />
</cfif>
<cfset finish = arguments.start + arguments.length - 1 />
<cfreturn resArray.subList(JavaCast("int", arguments.start - 1), JavaCast("int", finish)) />
</cffunction>
Search CFLib.org
Latest Additions
Tayo Akinmade added
arrayTrim
10 day(s) ago
Will Belden added
longTime
16 day(s) ago
James Sleeman added
quickSort
26 day(s) ago
Ben Forta added
GetHostAddress
29 day(s) ago
Top Rated
EksporSQLData
Rated 5.0, 16 time(s)
backupDatabase
Rated 5.0, 13 time(s)
indentXml
Rated 5.0, 10 time(s)
generateSsccAsn
Rated 5.0, 4 time(s)