三元运算符if else else if issue

时间:2018-03-30 21:44:27

标签: javascript reactjs if-statement

几天来一直在盯着这个,而且从一切都发现它应该起作用但总是最终得到了''。我检查可能是正面还是负面的价格变化,因此> 0< 0。

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

2 个答案:

答案 0 :(得分:1)

三元语句本身似乎没有任何问题,所以如果条件与数字一致,你认为高于或低于零;确保parseInt的{​​{1}}结果不是CheeseBarrelChange

&#13;
&#13;
NaN
&#13;
function change(input) {
  const c = parseInt(input.value);
  const i = c > 0 ? 'up' : c < 0 ? 'down' : '';

  console.log({ change: c, icon: i});
}
&#13;
&#13;
&#13;

为了检查这一点,您可以考虑将语句移动到函数中并使用常规的if或switch语句。

答案 1 :(得分:0)

检查是否我得到NaN让我思考,问题在于ParseInt,切换到parseFloat并且现在可以正常工作。