ここに私のコードがあります。「コールバックは未定義です」というエラーが表示されていて、検索機能にパラメータとして関数を送信しても、それは未定義と考えています。「TypeError:コールバックは関数ではありません」というエラーが表示されています
class Tree{
constructor(){
this.data;
this.left;
this.right;
}
Insert(data)
{
if(this.data)
{
if(this.data<data)
{
if(this.right)
{
this.right.Insert(data)
}
else{
this.right=new Tree();
this.right.Insert(data)
}
}
else{
if(this.left)
{
this.left.Insert(data)
}
else{
this.left=new Tree();
this.left.Insert(data)
}
}
}
else{
this.data=data;
}
}
Display(){
if(this.left)
{
this.left.Display();
}
console.log(this.data);
if(this.right)
{
this.right.Display();
}
}
Search(data,callback){
if(data==this.data)
{
console.log("found")
callback("found")
}
else if(data>this.data)
{
if(this.right)
{
this.right.Search(data);
}
else callback("not found")
}
else if(data<this.data){
if(this.left)
{
this.left.Search(data);
}
else callback("not found")
}
}
}
var k =new Tree();
k.Insert(41);
k.Insert(34);
k.Insert(53);
k.Insert(384);
k.Search(34,function (res){
console.log(res)
});
あなたは私にこれを手伝ってもらえますか?あなたは、あなたがするたびにコールバックを送るべきSerach
あなたがコールバックを送信しない
else if(data>this.data)
{
if(this.right)
{
this.right.Search(data);
}
この部分でパラメータ
Search(data,callback){
if(data==this.data)
{
console.log("found")
callback("found")
}
else if(data>this.data)
{
if(this.right)
{
this.right.Search(data, callback);
}
else callback("not found")
}
else if(data<this.data){
if(this.left)
{
this.left.Search(data, callback);
}
else callback("not found")
}
}
ソリューションは、本当に 'Callback'、ない' callback'を言っ誤りですか? –
/home/dhananjay/Desktop/Workspace/Trees/tree.js:43 コールバック( "found"); ^ 例外TypeError:コールバックはTree.Search(/ホーム/ dhananjay /デスクトップ/ワークスペースでTree.Search(/home/dhananjay/Desktop/Workspace/Trees/tree.js:54:13) で機能 ではありません/Trees/tree.js:67:27) atオブジェクト。(/ home/dhananjay/Desktop/Workspace/Trees/Workspace/Trees/tree.js:80:3) (Module._compile(module.js:556:32) ) node_modules/babel-register/lib/node.j s:144:5) @FelixKlingあなたは正しいです。 –