【发布时间】:2021-10-07 14:21:48
【问题描述】:
如果我有这个递归函数
function checkNested(obj, level, ...rest) {
if (obj === undefined) return false;
if (rest.length == 0 && obj.hasOwnProperty(level)) return true;
return checkNested(obj[level], ...rest);
}
当我尝试使其成为一个模块时,我得到了这个错误
checkNested is not a function
谁能看出我做错了什么?
function checkNested(obj, level, ...rest) {
if (obj === undefined) return false;
if (rest.length == 0 && obj.hasOwnProperty(level)) return true;
return checkNested(obj[level], ...rest);
};
module.exports.checkNested = checkNested;
【问题讨论】:
-
你在哪里以及如何称呼它?
-
@Bergi 我有一个
server.js那个const checkNested = require('./functions/checkNested');。如果这就是你的意思? -
而 checkNested 是这个文件吗?
-
@SandraSchlichting 好吧,
checkNested是模块导出对象,而不是函数,如果你这样导入的话。尝试记录它,您会发现问题所在。 -
你要么想要
const {checkNested} = require('./functions/checkNested');要么module.exports = checkNested;。
标签: javascript node.js ecmascript-6