Javascript if代码中的false条件后的事件转到if时钟而不是else块
我有if-else条件,其中有3个检查都返回false,但代码仍在if块中,它应该转到else,因为所有检查都失败了 如果我测试类似于Javascript if代码中的false条件后的事件转到if时钟而不是else块,javascript,reactjs,ecmascript-6,Javascript,Reactjs,Ecmascript 6,我有if-else条件,其中有3个检查都返回false,但代码仍在if块中,它应该转到else,因为所有检查都失败了 如果我测试类似于If(false | | false | | false)的东西,那么这可以正常工作,但我的代码没有正常工作 state = { year : 2019, sortby : '', genres : [] } nextState = { year : 2019, sortby : '', genres : [] }; console.log(state.year
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");
}
因为你写了
state.sortby!==nextState.sortBy
而不是state.sortBy!==nextState.sortby
那就行了。印刷错误
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");
}