在迭代数组咖啡脚本时检查未定义
check for undefined while iterating array coffee script
我正在迭代一个数组,在 CoffeeScript 中迭代时出现 undefined
变量错误。我不太确定在 CoffeeScript 中迭代数组时如何检查未定义。
请在下面找到我的代码。
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++
我猜 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
元素,您可以像这样使用三元运算符。
Flag = if typeof Program.flatPercentageDiscountByMajorClass[i].majorClass != 'undefined' then false else true
我正在迭代一个数组,在 CoffeeScript 中迭代时出现 undefined
变量错误。我不太确定在 CoffeeScript 中迭代数组时如何检查未定义。
请在下面找到我的代码。
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++
我猜 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
元素,您可以像这样使用三元运算符。
Flag = if typeof Program.flatPercentageDiscountByMajorClass[i].majorClass != 'undefined' then false else true