On se retrouve aujourd'hui pour la solution du précédent #KataOfTheWeek proposé par Kevin en début de semaine !

Source: 30 seconds of code

function luhnOddDigitOperation(num) {
  return num !== 9 ? (num * 2) % 9 : num;
}
function luhnCheck(num) {
  const arr = (num + "")
    .split("")
    .reverse()
    .map(x => parseInt(x));
  const sum = arr.reduce(
    (acc, val, i) => acc + (i % 2 ? luhnOddDigitOperation(val) : val),
    0
  );
  return sum % 10 === 0;
}

//EXAMPLES
luhnCheck("4485275742308327"); // true
luhnCheck(6011329933655299); // true
luhnCheck(123456789); // false

A bientôt pour un nouveau #KataOfTheWeek !