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
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.