2017-05-17 5 views
-1

Ich habe eine if statement wie folgt aus:Wie verkürzen Sie diese if-Anweisung?

if(this.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){

Aber ich möchte fragen, wie kann ich diese verkürzen ..

+0

Plese fühlen sich frei, einige lokale temporäre booleans einzuführen diese über mehrere Zeilen, um sich auszubreiten :) Nicht nur würde die ‚Form‘ des Codes dann die Seiten passen, wäre es viel einfacher zu debuggen sein. – ThingyWotsit

+0

@NinaScholz ja - das ist mir aufgefallen. Wette, du hast recht und es ist ein Tippfehler :) – ThingyWotsit

+0

Reduzieren Sie die Variablennamen? zum Beispiel: 'ÜbungenDoneArray' zu' eDA'. Das war augenzwinkernd, aber die Antwort von J-Titus ist gut. –

Antwort

4

Wie wäre es einige Variablen?

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){ 
+0

Ist das auch möglich? 'if ((ex1.done || ex2.done) && (ex1.expertise == nextSlide || ex2.exercise == nextSlide) || (ex1.exercise == afterNextSlide || ex2.exercise == afterNextSlide)) { ' – Sreinieren

+0

Sicher, denke ich; Stellen Sie sicher, dass 'afterNextSlide' definiert ist. Es hängt nur davon ab, was Sie mit der 'if'-Anweisung erreichen wollen. –

0

Verwenden paar Variablen und dann außerhalb des globalen setzen, wenn eine andere, wenn, wo Sie überprüfen, ob Ihr Haupt excercise geschehen ist, weil es immer so keine Notwendigkeit getan werden muss, immer in der anderen zu überprüfen, ob mit ein und

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){