Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Multiply all elements in array

Tags:

javascript

I couldn't find an example here what I'm really looking for. I'd like to multiply all array elements, so if an array contains [1,2,3] the sum would be 1*2*3=6; So far I've got this code, but it returns undefined.

function multiply (array) {     var sum=1;     for (var i=0; i<array.length; i++) {         sum = sum * array[i];     }      return sum; } console.log(multiply[1,2,3]); 

Could anyone please explain, what am I missing here? Thanks in advance!

like image 276
Joh Smith Avatar asked Oct 04 '13 06:10

Joh Smith


People also ask

How do you multiply all values in an array by a constant?

To multiply a constant to each and every element of an array, use multiplication arithmetic operator * . To multiplication operator, pass array and constant as operands as shown below. where a is input array and c is a constant. b is the resultant array.


1 Answers

The cause is already known. Here's an alternative - using Array.reduce for your method:

console.log( [1, 2, 3].reduce( (a, b) => a * b ) ); console.log( Array.from( {length: 20} )   .map( (v, i) => i + 1 )   .reduce( (a,b) => a * b )   .toLocaleString());  // for empty arrays, use some initial value const arr = []; if (arr.reduce( (a, b) => a * b, -1 ) === -1) {   console.error(`The given array ${arr} is empty`); }

See also

like image 119
KooiInc Avatar answered Sep 21 '22 23:09

KooiInc