From ca7b05549cad7e5010522c95aa311a6d97b71a51 Mon Sep 17 00:00:00 2001 From: Akutsang Date: Fri, 3 Feb 2023 15:08:55 +0100 Subject: [PATCH] Write a function that determines whether or not a given string is a palindrome --- 09_palindromes/palindromes.js | 13 +++++++++++-- 09_palindromes/palindromes.spec.js | 11 ++++++----- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/09_palindromes/palindromes.js b/09_palindromes/palindromes.js index 8d21018..59a517a 100644 --- a/09_palindromes/palindromes.js +++ b/09_palindromes/palindromes.js @@ -1,6 +1,15 @@ -const palindromes = function () { +const palindromes = function (input) { + let validate =/[\W_]/g; + let newInput = input.toLowerCase().replace(validate, ""); + let reversedInput = newInput.split("").reverse().join(""); + if (reversedInput == newInput) { + return true; + }else{ + return false; + } + }; + -}; // Do not edit below this line module.exports = palindromes; diff --git a/09_palindromes/palindromes.spec.js b/09_palindromes/palindromes.spec.js index 6e14ed1..016f0c9 100644 --- a/09_palindromes/palindromes.spec.js +++ b/09_palindromes/palindromes.spec.js @@ -1,22 +1,23 @@ + const palindromes = require('./palindromes') 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); }); });