I need Help!

I’m stuck, I’m on the Credit Card Checker project and I need help on how to turn all numbers in an array to the original invalid credit card numbers of arrays when I log it to the console. My findInvalidCards function works, it returns all invalid cards, but once again the numbers in the array are displayed differently as it passes through the validatedCred function.

I would be really grateful for all support thank you.

//Checking if the credit cards are Valid.

// All valid credit card numbers
const valid1 = [4, 5, 3, 9, 6, 7, 7, 9, 0, 8, 0, 1, 6, 8, 0, 8];
const valid2 = [5, 5, 3, 5, 7, 6, 6, 7, 6, 8, 7, 5, 1, 4, 3, 9];
const valid3 = [3, 7, 1, 6, 1, 2, 0, 1, 9, 9, 8, 5, 2, 3, 6];
const valid4 = [6, 0, 1, 1, 1, 4, 4, 3, 4, 0, 6, 8, 2, 9, 0, 5];
const valid5 = [4, 5, 3, 9, 4, 0, 4, 9, 6, 7, 8, 6, 9, 6, 6, 6];

// All invalid credit card numbers
const invalid1 = [4, 5, 3, 2, 7, 7, 8, 7, 7, 1, 0, 9, 1, 7, 9, 5];
const invalid2 = [5, 7, 9, 5, 5, 9, 3, 3, 9, 2, 1, 3, 4, 6, 4, 3];
const invalid3 = [3, 7, 5, 7, 9, 6, 0, 8, 4, 4, 5, 9, 9, 1, 4];
const invalid4 = [6, 0, 1, 1, 1, 2, 7, 9, 6, 1, 7, 7, 7, 9, 3, 5];
const invalid5 = [5, 3, 8, 2, 0, 1, 9, 7, 7, 2, 8, 8, 3, 8, 5, 4];

// Can be either valid or invalid
const mystery1 = [3, 4, 4, 8, 0, 1, 9, 6, 8, 3, 0, 5, 4, 1, 4];
const mystery2 = [5, 4, 6, 6, 1, 0, 0, 8, 6, 1, 6, 2, 0, 2, 3, 9];
const mystery3 = [6, 0, 1, 1, 3, 7, 7, 0, 2, 0, 9, 6, 2, 6, 5, 6, 2, 0, 3];
const mystery4 = [4, 9, 2, 9, 8, 7, 7, 1, 6, 9, 2, 1, 7, 0, 9, 3];
const mystery5 = [4, 9, 1, 3, 5, 4, 0, 4, 6, 3, 0, 7, 2, 5, 2, 3];

// An array of all the arrays above
const batch = [valid1, valid2, valid3, valid4, valid5, invalid1, invalid2, invalid3, invalid4, invalid5, mystery1, mystery2, mystery3, mystery4, mystery5];

// Add your functions below:

const validateCred = function(arr){

const Drop_last_digit = arr.pop() // gets rid of the last number of an array.
 const reversed = arr.reverse() // reversed the numbers in a array. 

 
for(let i = 0; i < reversed.length; i++){ // looping through the array
     reversed[i] = i % 2 === 0 ? arr[i] * 2  : arr[i] * 1; // if the modulo is 0 than it will multiply by 2 and the rest to 1. 
  
     if(reversed[i] > 9){ // if the numbers are greater than nine than it will subtract nine. 
        reversed[i] -= 9;
    }   
}
const add_last_digit = arr.push(Drop_last_digit) // adding back the check digit that was previously deleted. 
const adding_Numbers = reversed.reduce((a,b) => a  + b) // adding all the numbers by applying the reduce() method.
const result = adding_Numbers % 10 === 0 
return result;

}

const findInvalidCards = function(invalidCards){

let NotvalidCards = ;

for(let i = 0; i < invalidCards.length; i++){

if(validateCred(invalidCards[i]) === false){
    NotvalidCards.push(invalidCards[i]);
}

}
return NotvalidCards
}

console.log(findInvalidCards(batch)); // I’m stuck in here!!

//Output:
[
[
9, 7, 2, 9, 0, 1,
5, 7, 7, 7, 5, 2,
6, 5, 8, 5
],
[
8, 6, 8, 3, 2, 2,
9, 3, 6, 9, 1, 5,
9, 7, 1, 3
],
[
2, 9, 9, 5, 8, 4,
7, 0, 3, 9, 5, 5,
5, 3, 4
],
[
6, 9, 5, 7, 5, 1,
3, 9, 5, 2, 2, 1,
2, 0, 3, 5
],
[
1, 8, 6, 8, 7, 2,
5, 7, 9, 1, 0, 2,
7, 3, 1, 4
],
[
2, 4, 1, 0, 6, 8,
3, 9, 2, 0, 7, 4,
8, 3, 4
],
[
0, 2, 3, 5, 3, 2, 3,
9, 0, 2, 0, 7, 5, 3,
2, 1, 0, 6, 3
],
[
9, 0, 5, 1, 4, 9,
3, 1, 5, 7, 7, 9,
4, 9, 8, 3
]
]
// I don’t know how to display the original invalid Card Numbers.

I think you have a similar issue as this.

When you pass an array to your validateCred function, the parameter arr doesn’t create a copy of the array being passed as an argument. When you pop and reverse arr in the function, the original array is also mutated.
There are many ways to create a copy of the array so as to preserve the original array. One way would be making the first line of the validateCred function be

arr = [...arr];