I’m working on the credit checker problem. I think that I have a problem with scope most likely, but I’m slightly confused.
I started the project by making a function that would reverse the given array’s items.
function reverseArr(arr) {
let reverse = [];
for(i = arr.length - 1; i >= 0; i--) {
reverse.push(arr[i]);
} return reverse;
};
when I pass a value to the function argument , and log it to the console.
reverseArr(valid5);
console.log(reverseArr(valid5));
the console returns an array
[ 6, 6, 6, 9, 6, 8, 7, 6, 9, 4, 0, 4, 9, 3, 5, 4 ]
reverse is undefined. That is scope I believe because it is inside the function and not outside of it. What I don’t understand is why when i run :
console.log(Array.isArray(reverseArr(valid5)));
it returns True, but if I run :
console.log(reverseArr(valid5).typeOf);
it returns Undefined.
Why is the value of the function call giving the console a value of an array, but it’s still returned as undefined?
I thought I had a pretty good understanding so far, but maybe I need to go back and read some things.
my next step in the process was to make a function that uses this value of the reversed array so I can loop through it and pick out the odd indexes that need to be multiplied by 2.