I'm a newbie to JavaScript and I have an exercise about for...of but it failed. It returned NaN.
Where am I doing wrong and what do I need?
Code:
var arr = [];
function multiply(arr) {
for (var a of arr) {
a *= arr[a];
}
return a;
}
console.log(multiply([2, 3, 4])); // expect: 24
See your code modified below. Now working:
var arr = undefined;
function multiply(arr) {
if (!arr || !arr.length) { // if the array is undefined or has no elements, return null
return null;
} // otherwise, continue to do the calculation, it's an array with values
var result = 1; // start our result in 1
for (var a of arr) {
result *= a; // increase the result by multiplying the
// previous value for every value in the array
}
return result; // finally return
}
console.log(multiply([2, 3, 4])); // expect: 24
console.log(multiply([])); // expect: null: 0 elements
console.log(multiply(arr)); // expect: null: arr var is undefined
console.log(multiply()); // expect: null: no argument provided
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