Javascript 如何缩短这个if语句?
我有这样一个if语句: 如果此.exercisesDoneArray[ind][i].done&&this.exercisesDoneArray[ind][1].done &&this.exercisesDoneArray[ind][i]。exercise==this.slides.clickedSlide.nextElementSibling.nextElementSibling.id ||this.exercisesDoneArray[ind][1]。exercise==this.slides.clickedSlide.nextElementSibling.nextElementSibling.id{Javascript 如何缩短这个if语句?,javascript,if-statement,Javascript,If Statement,我有这样一个if语句: 如果此.exercisesDoneArray[ind][i].done&&this.exercisesDoneArray[ind][1].done &&this.exercisesDoneArray[ind][i]。exercise==this.slides.clickedSlide.nextElementSibling.nextElementSibling.id ||this.exercisesDoneArray[ind][1]。exercise==this.slide
但是我想知道如何缩短这个..使用一些变量怎么样
var ex1 = this.exercisesDoneArray[ind][i],
ex2 = this.exercisesDoneArray[ind][1],
nextSlide = this.slides.clickedSlide.nextElementSibling.nextElementSibling.id;
if(ex1.done && ex2.done && ex1.exercise === nextSlide || ex2.exercise === nextSlide){
使用少量变量,然后将全局if置于外部,如果另一个if,则检查您的主要练习是否已完成,因为它总是要完成,因此无需始终使用and检查另一个if内部
var currentExcercise = this.exercisesDoneArray[ind][i];
var baseExcercise = this.exercisesDoneArray[ind][1];
var slideId = this.slides.clickedSlide.nextElementSibling.nextElementSibling.id;
if (!baseExcercise.done) {
return false;
}
if(currentExcercise.done && currentExcercise.exercise === slideId || baseExcercise .exercise === slideId ){
请随意介绍一些本地临时布尔值,将其扩展到几行:不仅代码的“形状”适合页面,而且调试起来更容易。@NinaScholz yesh-我注意到了。我敢打赌你是对的,这是一个输入错误:减少变量名?例如:将exercisesDoneArray转换为eDA。这是ch中的舌头好的,但是J-Titus的答案是好的。这类问题不属于堆栈溢出。试一下。这也可以吗?ifex1.done | | ex2.done&&ex1.exerce==nextSlide | ex2.exerce==nextSlide | ex1.exerce==afterNextSlide | ex2.exerce==afterNextSlide{当然,我想;确保定义了afterNextSlide。这取决于您试图用if语句实现什么。