Мои модульные тесты для моего двоичного дерева и дерева двоичного поиска возвращаются как
TypeError: Невозможно прочитать свойство 'left' из null.
Здесь мы рассмотрели похожие вопросы и проверили наличие ошибок в заглавных буквах, ошибок отступов, запустили npm run lint, чтобы проверить наличие ошибок linter.Мой модульный тест возвращается как TypeError (которые обычно очевидны для исправления), и я в недоумении, почему он считает, что свойство 'left' of null не читается.Я не вижу каких-либо проблем с определением объема работ, и я в растерянности.Куда бы вы посоветовали обратить мое внимание на следующее?
class Node {
constructor(value) {
this.value = value;
this.left = null;
this.right = null;
}
}
class BinaryTree {
constructor() {
this.root = null;
}
preOrder() {
let results = [];
let _walk = node => {
results.push(node);
if(node.left) _walk(node.left);
if(node.right) _walk(node.right);
};
_walk(this.root);
return results;
}
};
Я ожидаю, что это вернет коллекцию из обхода предзаказа, но выдает
TypeError: Cannot read property 'слева от нуля
на if(node.left)
в функции _walk
.