簡體   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