устранение дублирования не работает должным образом - PullRequest
0 голосов
/ 21 сентября 2019

Я определяю метод процессора, который возвращает строчную версию содержимого для достижения этого поведения:

> phrase = new TranslatedPhrase("recognize", "reconocer");
> phrase.palindrome();
true
function reverse(string) {
  return Array.from(string).reverse().join("");
}

function Phrase(content) {
  this.content = content;

  this.processor = function(string) {
    return string.toLowerCase();
  }

  this.processedContent = function processedContent() {
    return this.processor(this.content);
  }

  // Returns true if the phrase is a palindrome, false otherwise.
  this.palindrome = function palindrome() {
    return this.processedContent() === reverse(this.processedContent());
  }
}

function TranslatedPhrase(content, translation) {
  this.content = content;
  this.translation = translation;

  // Returns translation processed for palindrome testing.
  this.processedContent = function processedContent() {
    return this.processor(this.translation);
  }
}

Я также попытался вернуть this.string.toLowerCase ();но это тоже не работает.

Ошибка, которую я сейчас получаю, такова:

> let phrase = new TranslatedPhrase("recognize", "reconocer");
undefined
> phrase.palindrome();
Thrown:
TypeError: phrase.palindrome is not a function

Любые предложения о том, что мне не хватает, очень ценятся, спасибо!

...