在迭代数组咖啡脚本时检查undefined
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在迭代数组咖啡脚本时检查undefined相关的知识,希望对你有一定的参考价值。
我正在迭代一个数组,我在CoffeeScript中迭代时得到undefined
变量错误。我不太确定如何在CoffeeScript中迭代数组时检查undefined。
请在下面找到我的代码。
i=0
while Program.flatPercentageDiscountByMajorClass.length
var
if typeof Program.flatPercentageDiscountByMajorClass[i].majorClass == 'undefined' // this line is not working. throwing Undefined error
FlatPercentageFlag = true
else
PdpTableFlag = true
break
i++
答案
要检查咖啡脚本中的undefined
元素,您可以使用这样的三元运算符。
Flag = if typeof Program.flatPercentageDiscountByMajorClass[i].majorClass != 'undefined' then false else true
另一答案
我猜想Program.flatPercentageDiscountByMajorClass[i]
是undefined
,并试图访问它上面的majorClass
属性会引发错误。
您可以在coffeescript中使用existential operator来避免这种情况。
if typeof Program.flatPercentageDiscountByMajorClass[i]?.majorClass == 'undefined'
// The existential operator goes before the dot ------^
其他一些观察:
var
不用于coffeescript。我真的不确定你想用这个循环实现什么。 break
意味着你只会执行一次迭代 - 这只是用于调试目的吗?
您应该查看loops & comprehensions迭代coffeescript中的数组而不是使用while
循环。
以上是关于在迭代数组咖啡脚本时检查undefined的主要内容,如果未能解决你的问题,请参考以下文章