【发布时间】:2016-08-17 13:04:40
【问题描述】:
这是我的代码:
useraccountprofileJSON.providerprofile.openinginfo.forEach(function(instance_1){
instance_1.openingdetail.openingapplication.forEach(function(instance_2){
console.log(instance_2);
if(instance_2.oaid == oaid){
isowner = true;
}
});
});
当我执行此操作时,我收到以下错误:
[TypeError: Cannot read property 'openingapplication' of undefined]
错误是因为最后一项(即最后一个开头的细节)在 forEach 迭代中未定义。
如何解决这个问题?
【问题讨论】:
-
不在您的数组中包含
undefined(最佳解决方案),或者直接使用if(instance1){ ... }进行检查 -
undefined 不在我的任何价值观中!
-
但是
forEach也不是编造的。它必须在那里。您能否展示 JSON 以及可能的 JSON 的输入/输出? -
首先
console.log()你的instance_1是否获得openingdetail属性。你得到这个未定义的openingdetail密钥在你的instance_1中不可用。 -
@AjitejKaushik 是的,instance_1 中的最后一项没有让我打开详细信息。这就是我的观点。为什么即使它存在于数据库中也不显示给我。它只发生在最后一项。
标签: javascript node.js loops express strongloop