我有一个函数,它可以搜索文件夹树并找到所选文件夹的父文件夹。
以下是该函数。
getParentFolder: function (searchroot, childFolder) {
searchroot.subfolders.forEach(function (folder) {
if (folder.key == childFolder.key) {
return searchroot;
}
else {
if (folder.subfolders) {
return this.getParentFolder(folder, childFolder);
}
}
});
}
当我使用
this.getParentFolder(rootFolder, childFolder);
调用时,
它只是给了我一个错误:Uncaught TypeError: this.getParentFolder is not a function。
为什么会这样?在同一个文件中,我调用其他函数都能正常工作。这是唯一一个我无法调用的函数。难道是因为递归吗?
bind
。 - Serge K.this
作为参数传递给forEach
,这样就避免了使用self
。 - Sumner Evans