From b5b3a35ff251cd543fdeb2f3bc282ab4d4a93ae1 Mon Sep 17 00:00:00 2001 From: abduldoesramen Date: Fri, 23 Jun 2023 17:04:26 +1000 Subject: [PATCH] tests: :white_check_mark: pass palindromes --- 09_palindromes/palindromes.js | 22 +++++++++++++++++++++- 09_palindromes/palindromes.spec.js | 14 +++++++------- 2 files changed, 28 insertions(+), 8 deletions(-) diff --git a/09_palindromes/palindromes.js b/09_palindromes/palindromes.js index 8d21018..59a9b81 100644 --- a/09_palindromes/palindromes.js +++ b/09_palindromes/palindromes.js @@ -1,5 +1,25 @@ -const palindromes = function () { +const palindromes = function (string) { + allLetters = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", + "v", "w", "x", "y", "z", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0"] + + normalString = Array.from(string.toLowerCase()) + .filter(function (letter) { + return allLetters.includes(letter) + }) + .join(",") + reverseString = Array.from(string.toLowerCase()) + .filter(function (letter) { + return allLetters.includes(letter) + }) + .reverse() + .join(",") + + console.log(normalString) + console.log(reverseString) + + + return normalString === reverseString ? true : false }; // Do not edit below this line diff --git a/09_palindromes/palindromes.spec.js b/09_palindromes/palindromes.spec.js index 90d53e4..8ce5aac 100644 --- a/09_palindromes/palindromes.spec.js +++ b/09_palindromes/palindromes.spec.js @@ -4,25 +4,25 @@ describe('palindromes', () => { test('works with single words', () => { expect(palindromes('racecar')).toBe(true); }); - test.skip('works with punctuation ', () => { + test('works with punctuation ', () => { expect(palindromes('racecar!')).toBe(true); }); - test.skip('works with upper-case letters ', () => { + test('works with upper-case letters ', () => { 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); }); - test.skip('works with multiple words', () => { + test('works with multiple words', () => { 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); }); - test.skip('works with numbers in a string', () => { + test('works with numbers in a string', () => { 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); }); });