Correctly implement luhnCheck

This commit is contained in:
Tom Targosz
2020-02-07 13:29:20 -06:00
parent e9645c3b96
commit 3117cf4ee2
5 changed files with 13 additions and 7 deletions

View File

@ -709,7 +709,7 @@ const luhnCheck = num => {
.reverse()
.map(x => parseInt(x));
let lastDigit = arr.splice(0, 1)[0];
let sum = arr.reduce((acc, val, i) => (i % 2 !== 0 ? acc + val : acc + ((val * 2) % 9) || 9), 0);
let sum = arr.reduce((acc, val, i) => (i % 2 !== 0 ? acc + val : acc + (val * 2 > 9 ? val * 2 - 9 : val * 2)), 0);
sum += lastDigit;
return sum % 10 === 0;
};