length和typeof ==未定义,被忽略,破折号

问题描述 投票:0回答:1

希望我的代码笔足够清晰,第一次使用它-https://codepen.io/jsfo011/pen/GRojmpw

notEmpty是我数据库中的JSON。我编写了一个函数来遍历它,并找到与参数匹配的行,并返回值。

如果我的函数找不到匹配的行,我想返回0

我认为我写的东西可以用,但是我一直在得到

"jQuery.Deferred exception: Cannot read property 'total_income' of undefined" "TypeError: Cannot read property 'total_income' of undefined

但是当它匹配时似乎可以正常工作。

我想念什么?

javascript lodash undefined
1个回答
0
投票
income[0]["total_income"]

您需要确保仅在父对象income[0]有效时访问该属性。

一种方法是通过添加另一项检查来确保income在列表中至少具有单个值,然后再像这样访问它:

if (typeof(income) !== 'undefined' && income.length > 0) { if (income[0]["total_income"] !== undefined) { return parseFloat(income[0]["total_income"]); } }

我也添加了一个未定义的检查,只是为了确保但您不需要它。

输出:

Empty Data - 0 Found - 1000 Not found - 0

希望这有助于理解问题。

© www.soinside.com 2019 - 2024. All rights reserved.