Я пытаюсь добавить новый узел в свой массив, который, как я думал, был новым пустым массивом, уже созданным при вызове createList(), поэтому я должен делать что-то неправильно, потому что получаю ошибка в том, что list.nodes не определено.Невозможно добавить элемент в массив
var head = createNode(null);
var list = createList();
list.nodes.push(head); // error is here, undefined array
function List(){
this.nodes = [];
this.addNodeToList = addNodeToList;
function addNodeToList(data){
var currentNode = head;
var newNode = createNode(data);
while(currentNode.getNextNode() != null){
currentNode = currentNode.getNextNode();
}
currentNode.nextNode = newNode;
return;
}
}
function createNode(data){
return new Node(data);
}
function createList(){
return new List();
}
function Node(data){
this.data = data;
this.nextNode = null;
}
function createList(){
return new Node(null);
}
, где вы выполняете этот скрипт ... –
В вашем коде есть две функции 'createList'. – Lewis
может быть просто 'list.push (head);' как 'List' (не знаю, какой у него объект) не имеет массива с именем' nodes' как его свойство –