Javascript 是什么原因造成的;无法读取属性';拥有自己的财产';“未定义”的定义;在这个代码片段中?

Javascript 是什么原因造成的;无法读取属性';拥有自己的财产';“未定义”的定义;在这个代码片段中?,javascript,node.js,lodash,Javascript,Node.js,Lodash,我已经在我们的日志中多次看到标题中的错误。它是从下面代码段的最后一行抛出的。根据我的研究,这个错误是在试图访问一个不存在的变量时抛出的;然而,我的印象是,我正在检查第1行的存在 if(rental_application.rental_history && rental_application.rental_history.length > 0) { candidate.rental_history = []; _.each(rental_appli

我已经在我们的日志中多次看到标题中的错误。它是从下面代码段的最后一行抛出的。根据我的研究,这个错误是在试图访问一个不存在的变量时抛出的;然而,我的印象是,我正在检查第1行的存在

if(rental_application.rental_history && rental_application.rental_history.length > 0) {
    candidate.rental_history = [];
        _.each(rental_application.rental_history, function(rental) {

这里可能会出现什么问题?

rental\u应用程序。rental\u历史记录是,或者包含未定义的值,无法在LoDash
中使用
hasOwnProperty
内部查找。每个
方法都可以使用real[].forEach,它可以安全地跳过未定义的值(使用
中的
而不是
hasOwnProperty
)您还可以使用下划线u0.has()函数替换第一行…\u0。有({“三”:5},“三”)@为什么第一行代码会成功通过检查?我对它真正在检查什么有误解吗?或者可能在数组的某个地方有空元素吗?您可能应该
console.log(rental\u application.rental\u history)
并查看它包含什么