JavaScript: реализовать алгоритм Луна, используемый для проверки различных идентификационных номеров
Основной JavaScript (синтаксис ES6): упражнение-80 с решением
Напишите программу на JavaScript для реализации алгоритма Луна, используемого для проверки различных идентификационных номеров, таких как номера кредитных карт, номера IMEI, номера национальных идентификаторов поставщиков и т. Д.
Пример решения:
HTML-код:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Implement the Luhn Algorithm used to validate a variety of identification numbers, such as credit card numbers, IMEI numbers, National Provider Identifier numbers etc</title>
</head>
<body>
</body>
</html>
Код JavaScript:
//#Source https://bit.ly/2neWfJ2
const luhnCheck = num => {
let arr = (num + '')
.split('')
.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);
sum += lastDigit;
return sum % 10 === 0;
};
console.log(luhnCheck('4485275742308327'));
console.log(luhnCheck(6011329933655299));
console.log(luhnCheck(123456789));
Пример вывода:
правда ложный ложный
Блок - схема:
Демонстрация в реальном времени:
См. Pen javascript-basic-упражнение-80-1 от w3resource ( @ w3resource ) на CodePen .
Улучшите этот пример решения и опубликуйте свой код через Disqus
Предыдущий: Напишите программу на JavaScript, которая будет принимать любое количество итерируемых объектов или объектов со свойством length и возвращает самый длинный из них.
Далее: Напишите программу на JavaScript для создания объекта с ключами, сгенерированными путем запуска предоставленной функции для каждого ключа и тех же значений, что и предоставленный объект.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования