繁体   English   中英

三元运算符(如果有的话)

[英]Ternary Operator if else if issue

盯着它看了好几天,iv的一切发现它都应该起作用,但总是以''结尾。 我正在检查可以为正或为负的价格变化,因此> 0 <0。

 {parseInt(item.CheeseBarrelChange) > 0 ? <i className={styles.up}></i> :
 parseInt(item.CheeseBarrelChange) < 0 ? <i className={styles.down}></i>  :''} 

三元语句本身似乎没有什么不对,因此,如果条件持续失败且您认为数字大于零或小于零,则该数字为零。 确保CheeseBarrelChangeparseInt结果不是NaN

 function change(input) { const c = parseInt(input.value); const i = c > 0 ? 'up' : c < 0 ? 'down' : ''; console.log({ change: c, icon: i}); } 
 <input value="0" onchange="change(this)"/> 

为了对此进行检查,您可以考虑将语句移至函数中并使用常规的if或switch语句。

检查是否是我得到NaN引起了我的思考,问题是ParseInt,切换到parseFloat,现在可以使用了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM