2016-03-31 8 views
-6

Warum wird dies nicht erreichen, wenn die und wenn (i + 0)/2 zurück? Auch, warum nicht die Warnung geben mir + 0 für einen 2-stelligen Wert? (Dh. 10, 20, 30, 40, usw. Jede Hilfe würde geschätztJavascript für Schleife mit If-Anweisung erreicht nicht die sonst if-Anweisung

var key= "OSN0MSA9991UNAAM8ELDPBD9F57BD6PU6BVBN54CDLEGDSUSNS"; 
var x = 0; 
if (key[20] != "P" || key[18] != "P") { 
x = 0; 
for (i=0;i<10;i++) { 
    if (key[26] == i) { 
    x = i + 0; 
    alert(x); 
    } 
}; 
} else if (key[20] == "P") { 
for (i=9;i>-1;i--) { 
    if (key[26] == i) { 
    x = (i + 0)/2; 
    alert(x); 
    } 
};  
}; 
+3

Warum nicht versuchen, zu debuggen? – Alex

+0

ist es immer bevorzugt, dass Sie zuerst debuggen und dann, wenn irgendwelche Zweifel hier kommen und Frage – S4beR

+0

Ich habe gefragt. Der Code läuft einwandfrei, ich habe nur den falschen Operator benutzt. – BlCEO

Antwort

3

Ihr Wert bei key[18] „L“ ist so if Bedingung immer wahr ist und Sie erhalten eine Benachrichtigung mit dem Wert 7

+0

hab es geschafft. dummer Fehler. Vielen Dank! – BlCEO

0

Es ist nicht die "else if" schlägt Ich glaube, weil Ihr Array bei 0 beginnt, und den Schlüssel [20] ist in der Tat ein P, so wird es immer in die erste Bedingung fallen und nicht auf die sonst. EDIT: Mein Fehler, falsch gelesen. Sie könnten die Taste [20] und Taste [18], um zu sehen, was sie diese denkt Werte sind.

+0

es ist nicht Schlüssel [20], sondern Schlüssel [18], das ist das Problem – S4beR

+0

'Schlüssel [18]! =" P "ist wahr, so dass das erste' if' zu passieren – apsillers

+0

Ja ein guter Punkt, vollständig falsch gelesen . – ICTech

0

Ihr Problem mit der 012 ist erhalten. Da Sie ein OR haben und key[18] = L (also nicht P) ..

Verwandte Themen