Lodash isUndefined提供了意想不到的结果
Lodash isUndefined providing unexpected result
我在Node中使用Lodash是未定义的:sendUser.company = _.isUndefined(user.accounts[0].name) ? null : user.accounts[0].name;
但当我试着运行它时,我得到TypeError: Cannot read property 'name' of undefined
。不知道我在这里错过了什么
似乎帐户[0]也可能是未定义的-因此您也需要检查这一点:
sendUser.company = ! user.accounts[0] || _.isUndefined(user.accounts[0].name) ? null : user.accounts[0].name;
您确定该用户。Accounts[0]实际上是定义的吗?
这看起来像你正在尝试检查'name'是否未定义。从我对_isUndefined()的理解来看,它只会查找特定的值,因此不能检查作为用户的.name属性的状态。Accounts[0]本身未定义。
你也可以在检查。name属性之前检查它
您可以使用_。get使其安全:
sendUser.company = _.get(user, 'accounts[0].name') || null;
相关文章:
- JavaScript 模块模式给出了意想不到的结果
- 使用 jQuery 从 HTML 获取 id,给出意想不到的结果
- Javascript for loop产生意想不到的结果
- Javascript计算产生意想不到的结果
- 比较 JavaScript 中的浮点数会产生意想不到的结果
- 弄乱jquery产生了意想不到的结果
- 当元素相等时,Array.sort() 会产生意想不到的结果
- 在JavaScript中循环获得意想不到的结果
- Math.round与Math.ceil相比会产生意想不到的结果
- CSS旋转和平移转换会产生意想不到的结果
- 在Javascript函数中传递参数产生意想不到的结果
- 函数迭代日期数组会产生意想不到的结果
- 重新启动函数会产生意想不到的结果
- CSS为jQuery页面生成与意想不到的结果
- json字符串中的数组长度在angular ng-repeat中返回意想不到的结果
- Javascript:从对象方法内部调用回调函数,产生意想不到的结果
- Javascript: Async嵌套函数在其他Async函数中会产生意想不到的结果
- Raphael-使用transform缩放js路径-意想不到的结果
- 使用窗口.反复打开会产生意想不到的结果
- Lodash isUndefined提供了意想不到的结果