For loop in een if /else constuctie ??? is dat mogelijk??

Status
Niet open voor verdere reacties.

Wazuri

Gebruiker
Lid geworden
21 jan 2016
Berichten
7
Hallo,

Ik heb een schoolopdracht en loop vast bij een for loop. Ik wil graag een for loop in een if/else constructie plaatsen (omdat ik eerst alle gegevens moet uitlezen, nadat de else lus in werking moet gaan), maar dan alleen bij de eerste if, zoals mijn voorbeeld hieronder.

For (i=0; i<5;i++) {

if (i == 3) {
var test=true;
console.log("testing for loop");
} /// <-- hier wil ik de loop stoppen, (maar dit werkt niet:), dus dat ie alleen de eerste if loop doorloopt, is dat mogelijk:) ??
else {
if (test == true) {
console.log("test2"); }
else { console.log("test is not true");
}
}
 
Omdat je geen codetags hebt gebruikt is het wat lastig leze, maar probeer dit eens:
console.log("testing for loop") { break; } ;
 
Ja mijn code is 180 regels, dus had ff zelfde soort voorbeeld neergezet, en ben nog beetje noob in dit.

De {break} commando werkt ook niet, het gaat er om, als je een if/else constructie hebt

if (){
}
else{console.log("blabla");
}

kan ik dan ook een for lus gebruiken voor de else.
(dus niet dit)
for (i=1;i<5;i++){
if (){
}
else{console.log("blabla");
}
} ////<-dit werkt, maar dit wil ik niet


(maar dit wil ik)
for (i=1;i<5;i++){
if (){

}} ///<------hier sluit ik de for lus, of dat wil ik inieder geval?
else{console.log("blabla");}
 
Dir break is om op een bepaald punt uit de For loop te springen dus je zal hem dan niet op de juiste plek gebruiken.
 
oke, hartikke bedankt voor de tip. Ik zal wel ff de break functie goed besturen, nog nooit echt mee gewerkt, alleen met switch statements, kan ik me nog herinneren, nu maar ff mee oefenen. Elke dag weer een nieuwe leermoment:P
THX, vraaag is wel opgelost dan, na de "{break}-studie".:p
Peace
 
Switch heeft dan weer niets te maken met het verlaten van een loop of het springen naar een volgende itteratie. Die is voor het selectief uitvoeren van een blok code afhankelijk van de waarde van een variabele.
 
Ja oke, me geheugen zei iets, dat ie dat eerder had gezien:).
Maar om eerlijk te zeggen heb ik de break niet gebruikt, werkte nog niet helemaal, krijg een SyntaxError: error over me if/else constructie
,zou vast iets fout doen, komma vergeten of iets in die shizzle,

maar ga morgen ff me scriptje laten zien aan een expert op school, dus zal wel goed komen, maar door te kijken hoe en wat, ben ik erachter dat ik een do/while constructie, in de if/else consturctie ook kan gebruiken en heb ik eigenlijk ook wat ik wil. Dus doe het voorloppig zo, totdat ik geslaagt met me break studie:).

thx again, peace :thumb:
 
ja dat had ik gezien, maar naar mijn idee dat de loop stopt en ik wil dat ie altijd 5 x de eerste if doet voordat ie door gaat naar de else.
leg het vast wazig uit en moet er ff diep over nadenken:), bedankt voor de ideen en hulp.
(had zoiets in gedachten--->)
for (x=0; x<5; x++){
var z=1;
z++;


for (i = 0; i < 5; i++) {
if (voorbeeld[z,1] === voorbeeld[i,x])
{console.log("resultaat");}
}
else if(){}
//
else {}
}
 
Laatst bewerkt:
Ik snap je laatste stukje code niet helemaal. Let wel op dat je de z steeds weer opnieuw initialiseerd. De z wordt dus elke keer weer 0 bij elke nieuwe iteratie van de for-loop. Over je vraag, het is prima mogelijk om een for-loop in een if te plaatsen. Bijvoorbeeld:

Code:
var b = 'blauw'; 

if(b == 'blauw') {
     
     for(var i =0; i < 5; i++) {
           console.log(i);
     }
} else { 
    // we doen niets
}

Welke output wil je graag bij jouw stukje code?
 
Laatst bewerkt:
bedankt voor je idee, had me z iets aangepast, die begint op 1, en moest eigenlijk ook nog voor de eerste for lus, maar zo gaat het scriptje niet(werk met .subst(0,1) enzo), maar om ideetje krijgen hoe ik me if else wou opbouwen.

ik wil het graag zoals jij het neerpost hebt, maar dan dus dat de for lus, ook nog voor if komt ipv daarna, zoals het nou heb veranderd hieronder:).

Want ik werk met variabel in de if parameter(tussen de haakjes :) )

var kleur = [rood, geel, groen,blauw, paars];
var b = 'blauw';
for (var j=0; j <5; j++){
var voorbeeld = [zwart, rood, geel, groen, wit];
for(var i =0; i < 5; i++) {
if(b == [kleur] && voorbeeld[j]) { ///


console.log(i);
}
} else {
// we doen niets
}
}
maar komt goed en bedankt
peace
 
Laatst bewerkt:
De constructie die je nu maakt werkt helaas niet. De else staat nu namelijk los van de if in de tweede for-lus. Als je de else wilt laten slaan op iets dat jij veranderd in de tweede for-lus dan kan je een variabele buiten de for-lussen maken die de else bepaald. De else wordt dan een if :).
Code:
var b = false;
for(var i =0; i < 5; i++) {
     
     for(j = 0; j < 5; j++) {
         if(j == 4) {    //als iets waar is.
               b = true;
               break;  //we hoeven deze lus niet door te laten lopen, we hebben onze conditie, dat j is 4 getest.   
         }
     }
     if(b) {     // dit is de else uit jouw voorbeeld.
          //nu doen we magie
     }
}

Ik denk dat je zoiets wilt?
 
bedankt, zoeits bedoelde ik, moet niet met die else werken bij de eerst if-lus en ook nog ff beter de break commando bestuderen ,
thx a lot :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan