为什么这个函数返回undefined?它在函数内部有一个值,但是一旦我尝试将它分配给一个新变量,它就会以未定义的形式返回。
function getLookupDefault(lookupModel) {
Object.keys(lookupModel.LookupValues).forEach(function (key) {
if (lookupModel.LookupValues[key].IsDefault == true) {
test = lookupModel.LookupValues[key].Name;
console.log("test: " + test);
return test;
}
})
};
var tst = getLookupDefault(model.LookupValuesDelimiter);
console.log("tst: " + tst);
编辑: 谢谢。来自c#,这对我来说并不明显。我已经编写了代码,它可以正常工作。
function getLookupDefault(lookupModel) {
for (var key in Object.keys(lookupModel.LookupValues)) {
if (lookupModel.LookupValues[key].IsDefault == true) {
test = lookupModel.LookupValues[key].Name;
console.log("test: " + test);
return test;
}
}
}
答案 0 :(得分:1)
你在那里的return语句没有向外部函数返回一个值,它只返回一个值给forEach调用的内部函数。