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!
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.
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With