33 lines
1.3 KiB
JavaScript
33 lines
1.3 KiB
JavaScript
//This is a method using Regular Expressions, and is probably the easiest if you know how to use them
|
|
|
|
// const palindromes = function (string) {
|
|
// const processedString = string.toLowerCase().replace(/[^a-z]/g, '');
|
|
// return processedString.split('').reverse().join('') == processedString;
|
|
// };
|
|
|
|
//there are many ways of checking the solution for palindromes without using regex. Here is one.
|
|
const palindromes = function (string) {
|
|
let alphabet = 'abcdefghijklmnopqrstuvwxyz'; //create a variable that holds all the letters of the alphabet
|
|
|
|
//Take the input string, convert to lowercase, split, reverse, & filter only letters, before rejoining them together as the constant cleanedString.
|
|
const cleanedString = string
|
|
.toLowerCase()
|
|
.split('')
|
|
.filter((letter) => alphabet.includes(letter))
|
|
.join('');
|
|
|
|
//make a new const from the cleaned string, and reverse it.
|
|
const reversedString = cleanedString.split('').reverse().join('');
|
|
|
|
//we then finally compare cleanedString & reversedString which returns true/false
|
|
return cleanedString === reversedString;
|
|
};
|
|
|
|
//check with console.log statements below in your daw/
|
|
|
|
// console.log(palindromes('A car, a man, a maraca.'));
|
|
// console.log(palindromes('ZZZZ car, a man, a maracazzzz.'));
|
|
// console.log(palindromes('this is not a paldindrome'));
|
|
// Do not edit below this line
|
|
module.exports = palindromes;
|