Найти популярные слова в строке. Не могу найти ошибку в коде

Делаю на сайте check io следующую задачу.

Ваша задача в этой миссии определить популярность определенных слов в тексте.

На вход вашей функции передается 2 аргумента. Текст и массив слов, популярность которых необходимо определить.

При решении этой задачи обратите внимание на следующие моменты

Слова необходимо искать во всеx регистрах. Т.е. если необходимо найти слово "one", значит для него будут подходить слова "one", "One", "oNe", "ONE" и.т.д. Искомые слова всегда указаны в нижнем регистре Если слово не найдено ни разу, то его необходимо вернуть в словаре со значением 0 (ноль)

Входные параметры: Текст и массив искомых слов.

Выходные параметры: Словарь, в котором ключами являются искомые слова и значениями то, сколько раз они встречаются в исходном тексте.

Пример:

popularWords('When I was One \n\
I had just begun\n\
When I was Two\n\
I was nearly new', ['i', 'was', 'three', 'near']) == {
    'i': 4,
    'was': 3,
    'three': 0,
    'near': 0
}

Предусловия: Исходный текст будет состоять из букв английского алфавита в верхнем и нижнем регистре, а также пробелов.

Решил ее так:

var count = 0;
var obj = {}
var count = 0;

function popularWords(text, words) {
  var str = text.toLowerCase().replace(/(\r\n|\n|\r)/gm, " ").split(" ");
  for (var i = 0; i < words.length; i++) {
    for (var j = 0; j < str.length; j++) {
      if (words[i] == str[j]) {
        count++;
        obj[words[i]] = count;
      } else {
        obj[words[i]] = count;
      }

    }
    count = 0;
  }

  return obj;
}

console.log('Example:')
console.log(popularWords(`
    When I was One
    I had just begun
    When I was Two
    I was nearly new`, ['i', 'was', 'three', 'near']))

Но не понимаю почему этот код не проходит проверку В консоли результат верен. Но checkio выдает ошибку

error

Странно то, что на скрине в "your result" попадают слова one и two, хотя я не передаю эти слова в качестве параметров в функцию.


Ответы (0 шт):