Exercise - Clean the scope
by Ryan Morris
JavaScript
/**
* This block of code will not work...
* It has a number of scoping and hoisting issues
*
* Clean up the scope and hoisting issues:
* - using "var", "let" or "const"
* - reorganize code as needed
*
* Bonus:
* Re-organize and write the code so that it executes in full
* without polluting the global scope
*/
var numbers = [4,2,3,1];
var secondNumbers = [5,5,5];
var total;
var secondTotal;
// return the sum of an array of numbers
function sumArray (arr) {
var total = 0;
for (var i=0; i<arr.length; i++) {
total += arr[i];
}
return total;
}
total = sumArray(numbers);
secondTotal = sumArray(secondNumbers);
// testing the results
console.log("Original Array:", numbers);
console.log("First Total:", total);
console.log("Second Array:", secondNumbers);
console.log("Second Total:", secondTotal);