Credit Card Checker

I have read over my code over and over and cannot find why nothing is logging to the console.

I am working on the Credit Card Checker challenge project. https://www.codecademy.com/practice/projects/credit-card-checker

Most of it is commented out because I am just testing my first function. The function is not outputting anything to the console, I am trying to figure out why.

You can ignore the first part because they wrote that, I wrote everything after ā€œ// Add your functions below:ā€

Code:

You are better off copy/pasting your code here rather than upload a file for people to download.

1 Like

I tried that but it got all weird and made some parts scroll able and some parts not which made it a little hard to read.

// 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:

var totalSum = ;

var cred = false;

var invalidCard = ;

function finalValidation(array) {

console.log(totalSum.join());

    if (totalSum.join() % 10 === 0) {

        return ('This card is valid: ' + array );

        cred = true;

    }

 

 else {

        return ('This card is invalid: ' + array );

        cred = false;

}

function validateCred(array) {

for (var i = array.length; i > 0; iā€“) {

 for (var even = 35; even > 0; even--) {

  if (even % 2 === 0 ) {

    if (array[i] * 2 > 9) {

        totalSum.push(array[i] * 2 - 9);

      }

      else {

        totalSum.push(array[i] * 2);

      }

    } 

  }

}

    }

finalValidation(valid1);

}

/*

function findInvalidCards(nested) {

for (var i = 0; i < nested.length; i++) {

    for (var j = 0; j < nested.length; j++) {

        validateCred(nested[i]);

        if (cred === false) {

            invalidCard.push(nested[i]);

        }

    }

}

}

function idInvalidCardCompanies() {

var firstDigitForReal = [];

var firstDigit = [];

var companies = [];

findInvalidCards(batch);

for (var i = 0; i < invalidCard.length; i++) {

firstDigit.push(invalidCard[i]);

firstDigitForReal = firstDigit[0];

switch (firstDigitForReal) {

    case 3:

        companies.push('Amex (American Express)');

        break;

    case 4:

        companies.push('Visa');

        break;

    case 5:

        companies.push('Mastercard');

        break;

    case 6: companies.push('Discover');

        break;

    default :

    console.log('Error, invalid company.');

    break;

}

for (var j = 0; j < companies.length; j++) {

  var J = j - j; 

  if (companies[j] === companies[J]) {

        companies.pop();

    }

}

}

}

idInvalidCardCompanies();

*/

    function validateCred(array) {

        for (var i = array.length; i > 0; iā€“) {

            for (var even = 35; even > 0; even--) {

                if (even % 2 === 0) {

                    if (array[i] * 2 > 9) {

                        totalSum.push(array[i] * 2 - 9);

                    }

                    else {

                        totalSum.push(array[i] * 2);

                    }

                }

            }
        }

    }

You are missing an - from i- in the for loop. Should be iā€“. It will not work as is.

1 Like