はじめに
この実験では、JavaScript での Luhn アルゴリズムの実装を検討します。Luhn アルゴリズムは、クレジットカード番号、IMEI 番号、および National Provider Identifier 番号などの識別番号の検証に一般的に使用されます。この実験を通じて、文字列を分割し、配列を逆順にする方法、map()、reduce()、および shift() メソッドを使用して Luhn アルゴリズムを実装し、最終的に与えられた識別番号が有効かどうかを判断する方法を学びます。
Luhn チェック
クレジットカード番号、IMEI 番号、National Provider Identifier 番号などの識別番号の検証に Luhn アルゴリズムを使用するには、次の手順に従います。
- ターミナル/SSH を開き、コーディングの練習を始めるために
nodeと入力します。 - 次のメソッドを組み合わせて使用して、数字の配列を取得します。
String.prototype.split()、Array.prototype.reverse()、Array.prototype.map()、およびparseInt()。 Array.prototype.shift()を使用して最後の桁を取得します。Array.prototype.reduce()を使用して Luhn アルゴリズムを実装します。sumが10で割り切れる場合はtrueを返し、それ以外の場合はfalseを返します。
以下がコードです。
const luhnCheck = (num) => {
const arr = (num + "")
.split("")
.reverse()
.map((x) => parseInt(x));
const lastDigit = arr.shift();
let sum = arr.reduce(
(acc, val, i) =>
i % 2 !== 0 ? acc + val : acc + ((val *= 2) > 9 ? val - 9 : val),
0
);
sum += lastDigit;
return sum % 10 === 0;
};
次の例を使用して Luhn チェック関数をテストできます。
luhnCheck("4485275742308327"); // true
luhnCheck(6011329933655299); // true
luhnCheck(123456789); // false
まとめ
おめでとうございます!あなたは Luhn チェックの実験を完了しました。あなたのスキルを向上させるために、LabEx でさらに多くの実験を行って練習することができます。