javascript - 三元运算符 if else if 问题

标签 javascript reactjs if-statement

我已经盯着这个好几天了,从一切来看,我发现它应该可以工作,但总是以“”结束。我正在检查价格变化,可能是正数,也可能是负数,因此 >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 语句。

关于javascript - 三元运算符 if else if 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49581825/

相关文章:

php - 用数学替换 elseif

vba - VB中的ElseIf语句

macos - Swift if 语句不返回值

javascript - Meteor如何在当前函数中调用另一个函数?

javascript - Google map 库地点和几何图形在一个 HTML 页面中协同工作

javascript - addComponentAsRefTo(...) : Only a ReactOwner can have refs - Error in Form with Select List

javascript - 我想在 Next.js 中的路由更改之前创建一个确认模式

javascript - 这个 toggle() 有什么问题?

Javascript 的 Object(this) 在 polyfill 中的用法?

javascript - 泛化函数以重用不同的元素