diff --git a/09_palindromes/palindromes.js b/09_palindromes/palindromes.js index 8d21018..1a52955 100644 --- a/09_palindromes/palindromes.js +++ b/09_palindromes/palindromes.js @@ -1,5 +1,20 @@ -const palindromes = function () { +const palindromes = function (string) { + string = string.replace(/[^a-zA-Z0-9]/g, ''); + const array = Array.from(string); + let newArray = []; + for (let i = 1; i <= string.length; i++) { + newArray.push(string[string.length - i]); + } + + let stringArray = (array.toString()).toLowerCase(); + let stringNewArray = (newArray.toString()).toLowerCase(); + + if (stringArray === stringNewArray) { + return true; + } else { + return false; + } }; // Do not edit below this line diff --git a/09_palindromes/palindromes.spec.js b/09_palindromes/palindromes.spec.js index 6e14ed1..1b0cd5e 100644 --- a/09_palindromes/palindromes.spec.js +++ b/09_palindromes/palindromes.spec.js @@ -4,19 +4,19 @@ 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); }); });