混合使用AND运算符和OR javascript

时间:2017-06-20 08:58:03

标签: javascript reactjs jsx

{Object.keys(groupByMonthApplicants).map((obj,i) => 
    <div key={obj} style={(i > 0 && (this.state.selectedTabId !== 'rejected' || this.state.selectedTabId !== 'approved')) ? {paddingTop:'15px',background:'#eee'} : {}}>
    </div>)
}

我已经选择了不等于拒绝和批准我仍然看到我的div有填充,我的上述表达错了吗?我在括号中使用OR,所以我希望“只有在选定的TabId未启用时才应用填充顶部”拒绝“或”已批准“且i不止一个。

2 个答案:

答案 0 :(得分:1)

此表达式始终为true,因为this.state.selectedTabId不能同时为rejectedapproved

this.state.selectedTabId !== 'rejected' || this.state.selectedTabId !== 'approved'

答案 1 :(得分:1)

您的表达始终为真,因为selectedTabId如果等于rejected,则不能等于approved

使用此

{Object.keys(groupByMonthApplicants).map((obj,i) => 
    <div key={obj} style={(i > 0 && !(this.state.selectedTabId === 'rejected' || this.state.selectedTabId === 'approved')) ? {paddingTop:'15px',background:'#eee'} : {}}>
    </div>)
}