我正在遍历数组,并且在CoffeeScript中进行迭代时遇到private Integer getIntWithNullCheck(ResultSet rset, String columnName) {
try {
Integer value = rset.getInt(columnName);
return rset.wasNull() ? null : value;
} catch (Exception e) {
return null;
}
}
变量错误。我不太确定如何在CoffeeScript中遍历数组时检查未定义。
请在下面找到我的代码。
undefined
答案 0 :(得分:1)
我猜想Program.flatPercentageDiscountByMajorClass[i]
是undefined
,尝试访问其上的majorClass
属性会引发错误。
您可以在咖啡脚本中使用existential operator来避免这种情况。
if typeof Program.flatPercentageDiscountByMajorClass[i]?.majorClass == 'undefined'
// The existential operator goes before the dot ------^
其他一些观察结果
: var
未在coffeescript中使用。我真的不确定您要通过此循环实现什么。 break
意味着您将只执行一次迭代-这是否只是出于调试目的?
您应该研究loops & comprehensions以便遍历coffeescript中的数组,而不要使用while
循环。
答案 1 :(得分:1)
要检查咖啡脚本中的undefined
元素,您可以使用像这样的三元运算符。
Flag = if typeof Program.flatPercentageDiscountByMajorClass[i].majorClass != 'undefined' then false else true