console.logが正しい結果を出力するときに、この小さなことが「未定義」を返す理由がわかりません。事前にthx。
App.Presentation.prototype.getLeaf = function(leafSlug, tree) {
for (var key in tree.content) {
if (tree.content[key].type === 'leaf' && tree.content[key].slug === leafSlug) {
console.log(tree.content[key]) // this works Correct
return tree.content[key]; // this returns undefined :<
} else {
this.getLeaf(leafSlug, tree.content[key]);
}
}
};
私はこれをコンソールで次のように呼び出しています:
Presentation.getLeaf("chpl", Presentation.tree);
そして、この結果を得ます:
( からの最初の結果console.log
)
Object {type: "leaf", alias: "Chpl bla bla bla", slug: "chpl", group: "", order: ""…}
alias: "Chpl bla bla bla"
group: ""
html: "<img src='bg.png' />"
order: ""
parent: "chpl"
slug: "chpl"
type: "leaf"
__proto__: Object
( からの次の結果return
)
undefined
Presentation.tree
オブジェクトに解析された JSON を含む変数です。