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;
 |