You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
69 lines
1.6 KiB
69 lines
1.6 KiB
// THOM'S
|
|
|
|
var validCard = function(num) {
|
|
|
|
var reversedArr = num.toString().split('').reverse();
|
|
|
|
for (var i=1; i < reversedArr.length; i+=2) {
|
|
reversedArr[i] = reversedArr[i] * 2;
|
|
}
|
|
|
|
reversedArr = reversedArr.join('').split('');
|
|
|
|
var summed = reversedArr
|
|
.map(function(n) { return n = parseInt(n); })
|
|
.reduce(function (sum, m) { return sum + m; });
|
|
|
|
return summed % 10 == 0;
|
|
}
|
|
|
|
|
|
// DEREK'S
|
|
|
|
var validCard = function(n){
|
|
var string = n.toString();
|
|
var num = string.split('').map(function(data){
|
|
return parseInt(data, 10);
|
|
});
|
|
for (var i=num.length - 2; i >= 0; i = i-2) {
|
|
num[i] = num[i] * 2
|
|
};
|
|
var card = num.join('').split('').map(function(data){
|
|
return parseInt(data, 10);
|
|
});
|
|
var newNum = card.reduce(function(a, b){
|
|
return a + b
|
|
});
|
|
if (newNum % 10 == 0) { return true } else { return false };
|
|
};
|
|
|
|
|
|
// CHRISTINE'S
|
|
|
|
var validCard = function (num) {
|
|
var creditNum = num.toString().split("");
|
|
sum = 0;
|
|
|
|
//for every other character, starting from the penultimate one
|
|
// turn it back into number and take the sum
|
|
for (var j = creditNum.length-2; j >= 0; j-=2) {
|
|
var double = parseInt(creditNum[j]) * 2;
|
|
|
|
var stringify = double.toString().split("");
|
|
|
|
//sum up the double digit numbers
|
|
for (var k = 0; k < stringify.length; k++){
|
|
sum += parseInt(stringify[k]);
|
|
}
|
|
}//ends forloop
|
|
|
|
//add the rest of the 2n numbers
|
|
for (var m = creditNum.length-1; m >= 0; m-=2){
|
|
sum += parseInt(creditNum[m]);
|
|
}
|
|
|
|
//if divisible by 10, it is valid
|
|
return (sum % 10 === 0)
|
|
};
|
|
|