私はJavaScriptで簡単なリンクリストを作成しています(私は初心者です)。次のコードがあります。
var List = function () {
this.LinkedList = {
"Head": {}
};
};
List.prototype = {
insert: function (element) {
var Node = this.head();
while (Node.hasOwnProperty("Node")) {
Node = this.next(Node);
}
Node["Node"] = {
"element": element
};
},
remove: function (element) {
var Node = this.head();
while (Node.element != element) {
Node = this.next(Node);
}
delete Node.element;
Node = Node.Node; //overwriting Node with Node.Node
},
next: function (Node) {
return Node.Node;
},
head: function () {
return this.LinkedList.Head;
},
getList: function () {
return this.LinkedList;
}
};
挿入してる時は元気そうで、
var myList = new List();
myList.insert(1);
myList.insert(5);
myList.insert(6);
myList.insert(2);
これにより、次のリストが得られます。
{
"Head": {
"Node": {
"element": 1,
"Node": {
"element": 5,
"Node": {
"element": 6,
"Node": {
"element": 2
}
}
}
}
}
}
削除を行うと、正しいリストが表示されません。
myList.remove(5);
{
"Head": {
"Node": {
"element": 1,
"Node": {
"Node": {
"element": 6,
"Node": {
"element": 2
}
}
}
}
}
}
私が取得したいのは次のようなものです:
{
"Head": {
"Node": {
"element": 1,
"Node": {
"element": 6,
"Node": {
"element": 2
}
}
}
}
}
これを解決する方法についてのアイデアはありますか? 前もって感謝します。