Passed all remaining tests in exercise 09

Now replacing punctuation and spaces with blank, converting to lower case
This commit is contained in:
NetMan 2024-01-11 10:13:14 +01:00
parent 27551435b6
commit 9d02464e9d
2 changed files with 10 additions and 9 deletions

View File

@ -1,6 +1,7 @@
const palindromes = function (string) { const palindromes = function (string) {
const reversed = string.split("").reverse().join(""); const reversed = string.split("").reverse().join("").replace(/[\.,?! ]/g, "");
if (reversed === string) { string = string.replace(/[\.,?! ]/g, "");
if (reversed.toLowerCase() === string.toLowerCase()) {
return true; return true;
} }
return false; return false;

View File

@ -4,25 +4,25 @@ describe('palindromes', () => {
test('works with single words', () => { test('works with single words', () => {
expect(palindromes('racecar')).toBe(true); expect(palindromes('racecar')).toBe(true);
}); });
test.skip('works with punctuation ', () => { test('works with punctuation ', () => {
expect(palindromes('racecar!')).toBe(true); expect(palindromes('racecar!')).toBe(true);
}); });
test.skip('works with upper-case letters ', () => { test('works with upper-case letters ', () => {
expect(palindromes('Racecar!')).toBe(true); expect(palindromes('Racecar!')).toBe(true);
}); });
test.skip('works with multiple words', () => { test('works with multiple words', () => {
expect(palindromes('A car, a man, a maraca.')).toBe(true); expect(palindromes('A car, a man, a maraca.')).toBe(true);
}); });
test.skip('works with multiple words', () => { test('works with multiple words', () => {
expect(palindromes('Animal loots foliated detail of stool lamina.')).toBe(true); expect(palindromes('Animal loots foliated detail of stool lamina.')).toBe(true);
}); });
test.skip('doesn\'t just always return true', () => { test('doesn\'t just always return true', () => {
expect(palindromes('ZZZZ car, a man, a maracaz.')).toBe(false); expect(palindromes('ZZZZ car, a man, a maracaz.')).toBe(false);
}); });
test.skip('works with numbers in a string', () => { test('works with numbers in a string', () => {
expect(palindromes('rac3e3car')).toBe(true); expect(palindromes('rac3e3car')).toBe(true);
}); });
test.skip('works with unevenly spaced numbers in a string', () => { test('works with unevenly spaced numbers in a string', () => {
expect(palindromes('r3ace3car')).toBe(false); expect(palindromes('r3ace3car')).toBe(false);
}); });
}); });