Skip to main content
Participant
November 5, 2013
Answered

Multiply an array by a number

  • November 5, 2013
  • 1 reply
  • 719 views

I am trying to multiply each element of an array by a number (5)

Is there an easy way to do it or need to write a function for that?

This topic has been closed for replies.
Correct answer Aegis_Kleais

As for a function..

<cffunction

          access="public"

          returntype="array"

          name="multiplyBy"

          output="false">

 

          <!--- Arguments. --->

          <cfargument

                    required="true"

                    type="array"

                    name="myArray" />

          <cfargument

                    required="false"

                    type="numeric"

                    name="multiplier"

                    default="5" />

 

          <!--- Local variables. --->

          <cfset local.i = 0 />

          <cfset local.return = arrayNew( 1 ) />

 

          <!--- Iterate over provided loop and append result into return variable. --->

          <cfloop array="#arguments.myArray#" index="local.i">

                    <cfset arrayAppend( local.return, ( local.i * arguments.multiplier ) ) />

          </cfloop>

 

          <!--- Return. --->

          <cfreturn local.return />

 

 

</cffunction>

<!--- Create a test array of data. --->

<cfset testArray = [ 5, 10, 15, 20 ] />

<!--- When no multiplier argument is provided, default multiplies by 5. --->

<cfdump var="#multiplyBy( testArray )#" />

<hr>

<!--- When a multiplier is provided, it is used in the calculations. --->

<cfdump var="#multiplyBy( testArray, 12 )#" />

1 reply

Inspiring
November 5, 2013

<cfset myArray = [ 1, 2, 3, 4, 5, 6 ] />

<cfloop array="#myArray#" index="i">

<cfoutput>#( i * 5 )#</cfoutput>

</cfloop>

Aegis_KleaisCorrect answer
Inspiring
November 5, 2013

As for a function..

<cffunction

          access="public"

          returntype="array"

          name="multiplyBy"

          output="false">

 

          <!--- Arguments. --->

          <cfargument

                    required="true"

                    type="array"

                    name="myArray" />

          <cfargument

                    required="false"

                    type="numeric"

                    name="multiplier"

                    default="5" />

 

          <!--- Local variables. --->

          <cfset local.i = 0 />

          <cfset local.return = arrayNew( 1 ) />

 

          <!--- Iterate over provided loop and append result into return variable. --->

          <cfloop array="#arguments.myArray#" index="local.i">

                    <cfset arrayAppend( local.return, ( local.i * arguments.multiplier ) ) />

          </cfloop>

 

          <!--- Return. --->

          <cfreturn local.return />

 

 

</cffunction>

<!--- Create a test array of data. --->

<cfset testArray = [ 5, 10, 15, 20 ] />

<!--- When no multiplier argument is provided, default multiplies by 5. --->

<cfdump var="#multiplyBy( testArray )#" />

<hr>

<!--- When a multiplier is provided, it is used in the calculations. --->

<cfdump var="#multiplyBy( testArray, 12 )#" />

Participant
November 7, 2013

Thanks for taking the time to do this, it helped!