Added scripts.

This commit is contained in:
didier amyot committed 2023-12-01 16:53:34 -05:00
1 parent a3f4ca664f
commit 3a40288689
2 files changed
+50

No files matched your search

+48
View File
@@ -0,0 +1,48 @@
export function isValidIsbn13(str) {
let sum, digit, check, i;
str = str.replace(/[^0-9X]/gi, '');
if (str.length !== 13) {
return false;
}
sum = 0;
for (i = 0; i < 12; i++) {
digit = parseInt(str[i]);
if (i % 2 === 1) {
sum += 3 * digit;
} else {
sum += digit;
}
}
check = (10 - (sum % 10)) % 10;
return (check === str[str.length - 1]);
}
export function isValidIsbn10(str) {
let sum, digit, weight, check, i;
str = str.replace(/[^0-9X]/gi, '');
if (str.length !== 10) {
return false;
}
weight = 10;
sum = 0;
for (i = 0; i < 9; i++) {
digit = parseInt(str[i]);
sum += weight * digit;
weight--;
}
check = (11 - (sum % 11)) % 11
if (check === 10) {
check = 'X';
}
return (check === str[str.length - 1].toUpperCase());
}
export function isValidIsbn(str) {
return isValidIsbn13(str) || isValidIsbn10(str);
}
+2
View File
@@ -1,3 +1,5 @@
export const INFINITY = 30;
export function average(lst){
if(lst.length < 1){
return NaN;