Andrello
@Andrello

Почему не работает push?

Вкратце: задача по цепям Маркова - каждому слову создается массив из предшествующих ему слов который дополняется

TypeError: dictionary[words[i]].push is not a function

var dictionary = Array();

        for (var i = 0; i < words.length; i++) {

            if (words[i] in dictionary) {
                dictionary[words[i]].push(words[i-1]);
            } else {
                dictionary[words[i]] = Array(words[i-1]);
            }
        };


Words набор слов.
  • Вопрос задан
  • 3777 просмотров
Решения вопроса 1
klesh
@klesh
Для начала:
var dictionary = {};

Кроме того если у вас в words[i-1] при создании нового массива окажется число - то будет создан массив из этого количества undefined'ов. Лучше:
dictionary[words[i]] = [words[i-1]]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы