Session 5

Exercise

Take your pangram checker code and implement it as optimally as possible (using the techniques that we explored yesterday) inside a function of your creation. That function should accept a single string-argument and should return true or false depending on whether the input string is/is-not a pangram. It should handle upper- and lower-case letters.

function isPangram(inp) {
let letters = 0;
let counter = 0;
let length = inp.length;
let isPangram = ' is a pangram';
let notPangram = ' is not a pangram';
let a = 0;
let b = 0;
let c = 0;
let d = 0;
let e = 0;
let f = 0;
let g = 0;
let h = 0;
let i = 0;
let j = 0;
let k = 0;
let l = 0;
let m = 0;
let n = 0;
let o = 0;
let p = 0;
let q = 0;
let r = 0;
let s = 0;
let t = 0;
let u = 0;
let v = 0;
let w = 0;
let x = 0;
let y = 0;
let z = 0;
while (counter < length) {
switch (inp[counter]) {
case 'a':
case 'A':
a = a + 1;
letters = letters + 1;
break;
case 'b':
case 'B':
b = b + 1;
letters = letters + 1;
break;
case 'c':
case 'C':
c = c + 1;
letters = letters + 1;
break;
case 'd':
case 'D':
d = d + 1;
letters = letters + 1;
break;
case 'e':
case 'E':
e = e + 1;
letters = letters + 1;
break;
case 'f':
case 'F':
f = f + 1;
letters = letters + 1;
break;
case 'g':
case 'G':
g = g + 1;
letters = letters + 1;
break;
case 'h':
case 'H':
h = h + 1;
letters = letters + 1;
break;
case 'i':
case 'I':
i = i + 1;
letters = letters + 1;
break;
case 'j':
case 'J':
j = j + 1;
letters = letters + 1;
break;
case 'k':
case 'K':
k = k + 1;
letters = letters + 1;
break;
case 'l':
case 'L':
l = l + 1;
letters = letters + 1;
break;
case 'm':
case 'M':
m = m + 1;
letters = letters + 1;
break;
case 'n':
case 'N':
n = n + 1;
letters = letters + 1;
break;
case 'o':
case 'O':
o = o + 1;
letters = letters + 1;
break;
case 'p':
case 'P':
p = p + 1;
letters = letters + 1;
break;
case 'q':
case 'Q':
q = q + 1;
letters = letters + 1;
break;
case 'r':
case 'r':
r = r + 1;
letters = letters + 1;
break;
case 's':
case 's':
s = s + 1;
letters = letters + 1;
break;
case 't':
case 'T':
t = t + 1;
letters = letters + 1;
break;
case 'u':
case 'U':
u = u + 1;
letters = letters + 1;
break;
case 'v':
case 'V':
v = v + 1;
letters = letters + 1;
break;
case 'w':
case 'W':
w = w + 1;
letters = letters + 1;
break;
case 'x':
case 'X':
x = x + 1;
letters = letters + 1;
break;
case 'y':
case 'Y':
y = y + 1;
letters = letters + 1;
break;
case 'z':
case 'Z':
z = z + 1;
letters = letters + 1;
break;
}
counter++;
}
if (a < 1) {
isPangram = notPangram;
}
if (b < 1) {
isPangram = notPangram;
}
if (c < 1) {
isPangram = notPangram;
}
if (d < 1) {
isPangram = notPangram;
}
if (e < 1) {
isPangram = notPangram;
}
if (f < 1) {
isPangram = notPangram;
}
if (g < 1) {
isPangram = notPangram;
}
if (h < 1) {
isPangram = notPangram;
}
if (i < 1) {
isPangram = notPangram;
}
if (j < 1) {
isPangram = notPangram;
}
if (k < 1) {
isPangram = notPangram;
}
if (l < 1) {
isPangram = notPangram;
}
if (m < 1) {
isPangram = notPangram;
}
if (n < 1) {
isPangram = notPangram;
}
if (o < 1) {
isPangram = notPangram;
}
if (p < 1) {
isPangram = notPangram;
}
if (q < 1) {
isPangram = notPangram;
}
if (r < 1) {
isPangram = notPangram;
}
if (s < 1) {
isPangram = notPangram;
}
if (t < 1) {
isPangram = notPangram;
}
if (u < 1) {
isPangram = notPangram;
}
if (v < 1) {
isPangram = notPangram;
}
if (w < 1) {
isPangram = notPangram;
}
if (x < 1) {
isPangram = notPangram;
}
if (y < 1) {
isPangram = notPangram;
}
if (z < 1) {
isPangram = notPangram;
}
return inp + isPangram;
}
let result = isPangram('The Quick Brown Fox Jumps Over The lazy dog');
console.log(result);