UNPKG

ryata

Version:
34 lines (28 loc) 1 kB
module.exports = Phrase; // reverse()メソッドを追加してすべてのStringで使えるようにする String.prototype.reverse = function() { return Array.from(this).reverse().join(""); } // Phraseオブジェクトを定義する function Phrase(content) { this.content = content; // パリンドロームのテスト用に変換した訳文を返す this.processedContent = function processedContent() { return this.letters().toLowerCase(); } // コンテンツの文字だけを返す // 利用例: // new Phrase("Hello, world!").letters() === "Helloworld" this.letters = function letters() { const lettersRegEx = /[a-z]/gi; return (this.content.match(lettersRegEx) || []).join(""); } // パリンドロームならtrueを、違うならfalseを返す this.palindrome = function palindrome() { if(this.processedContent()){ return this.processedContent() === this.processedContent().reverse(); }else{ return false; } } }