UNPKG

armo-palindrome

Version:
33 lines (26 loc) 804 B
module.exports = Phrase; // Adds reverse for all strings String.prototype.reverse = function() { return Array.from(this).reverse().join(""); } // Defines a Phrase object function Phrase(content) { this.content = content; // Returns content processed for palindrome testing this.processedContent = function processedContent() { return this.letters().toLowerCase(); } // Returns the letters in the content this.letters = function letters() { const lettersRegex = /[a-z]/gi; return ( this.content.match(lettersRegex) || [] ).join(""); } // Returns true for a palindrome this.palindrome = function palindrome() { if ( this.processedContent() ) { return this.processedContent() === this.processedContent().reverse(); } else { return false; } } }