我有if条件,其中有3个检查全部返回false,if代码仍在if块内,而应改为else,因为所有检查均失败。
如果我测试类似if(false || false || false)
的东西,则可以正常工作,但是我的代码无法正常工作。
state = { year : 2019, sortby : '', genres : [] }
nextState = { year : 2019, sortby : '', genres : [] };
console.log(state.year !== nextState.year);
console.log(state.sortby !== nextState.sortby);
console.log(!_.isEqual(state.genres.sort(), nextState.genres.sort()))
if(state.year !== nextState.year ||
state.sortby !== nextState.sortBy ||
!_.isEqual(state.genres.sort(), nextState.genres.sort())
){
console.log("Inside if");
}else{
console.log("Inside else");
}
答案 0 :(得分:1)
因为您写的是state.sortby !== nextState.sortBy
而不是state.sortby !== nextState.sortby
然后它应该工作。
答案 1 :(得分:0)
印刷错误
state = { year : 2019, sortby : '', genres : [] }
nextState = { year : 2019, sortby : '', genres : [] };
console.log(state.year !== nextState.year);
console.log(state.sortby !== nextState.sortby);
console.log(!_.isEqual(state.genres.sort(), nextState.genres.sort()))
if(state.year !== nextState.year ||
state.sortby !== nextState.sortby ||
!_.isEqual(state.genres.sort(), nextState.genres.sort())
){
console.log("Inside if");
}else{
console.log("Inside else");
}