我正在練習javascript,並且我正在創建一個單例鏈接列表,但我正在獲取最後一個節點[對象]而不是將新節點添加到列表中。爲什麼[object]出現在javascript中的嵌套列表實現中?
這是我現在的代碼,我希望你能幫助我,也許我的錯誤是在addNode方法。
function Node(value) {
this.value = value;
this.nextNode = null;
}
Node.prototype.addNode = function(newNode) {
function append(node) {
if (node.nextNode == null) {
node.nextNode = newNode;
}
else {
return append(node.nextNode);
}
}
return append(this);
}
var firstNode = new Node(5);
var node2 = new Node(3);
var node3 = new Node(4);
var node4 = new Node(8);
var node5 = new Node(1);
console.log(firstNode);
firstNode.addNode(node2);
console.log(firstNode);
firstNode.addNode(node3);
console.log(firstNode);
firstNode.addNode(node4);
console.log(firstNode);
firstNode.addNode(node5);
console.log(firstNode);
這是印有Node.js的
節點{值:5,nextNode:空} {節點值:5,nextNode:節點{ 值:3,nextNode:空}}節點{值:5,nextNode:節點{value:3,nextNode:node {value:4,nextNode:null}}}節點{value:5,nextNode:value {value:5,nextNode:Node {value :4, nextNode:[Object]}}} Node {value:5,nextNode:Node {value: 3,nextNode:Node {value:4,nextNode:[Object]}}}
console.log正在爲您縮短它。如果你更深入地瀏覽節點,它會顯示更深的嵌套。 'console.log(firstNode.nextNode)' –
如果你想要它吐出所有東西,你可以'console.log(JSON.stringify(firstNode,null,2));' –
謝謝你的回答! @DanCrews JSON.stringify就像一個魅力!我在考慮添加時出現問題,但是我檢查了兩次,所以我問了這個問題!非常感謝,讓noobs編碼人員的生活更輕鬆。 – jdecuirm