2016-12-18 1 views
0

Die Idee hinter dem folgenden Code ist zu testen, ob eine Zahl zwischen 0 und 13 + eine andere Zahl gleich 13 ist. Wenn man beide Zahlen in einem anderen Array gespeichert werden soll aber auf dem gleichen Index. Also sollte ich alle möglichen Kombinationen haben, um 13 in 2 Arrays zu erreichen. Aber wenn ich meinen Code ausführe, bekomme ich nur 2 Kombinationen, die 0 + 13 und 13 + 0 sind. Hier ist der Code:Brauchen Sie Hilfe, um ein Schnipsel aus meinem Mathe Grid Labyrinth Solver zu beheben

var number1 = []; 
 
var number2 = []; 
 
var index = 0; 
 
var i = 0; 
 
var j = 0; 
 

 
//Tests if i + j (from the loop) add up to 13 
 
var test = function(i, j) { 
 
    if (i + j === 13) { 
 
    number1[index] = i; 
 
    number2[index] = j; 
 
    index =+ 1; 
 
    } 
 
} 
 

 
//1st loop generates i from 0 to 13 in 0.5 step. 
 
for (i = 0; i < 13.5; i += 0.5) { 
 

 
    //same for j, this number should test with i every loop 
 
    for (j = 0; j < 13.5; j += 0.5) { 
 
    test(i, j); 
 
    } 
 
} 
 

 
//outputs the 2 arrays, the matching numbers should be stored in 
 
for (i = 0; i < number1.length; i++) { 
 
    console.log(number1[i]); 
 
    console.log(number2[i]); 
 
}

+0

Nicht verwandt, aber Sie müssen nicht "j" iterieren, weil 'j = 13 - i' – Oriol

Antwort

0

ändern index =+ 1-index += 1

Dann index =+ 1 setzt der index-1 sie es nicht erhöht um 1 (wie Sie wollen)


Siehe Expressions and operators: Assignment operators MDN

+0

Vielen Dank. Ich habe so lange auf meinen Code geschaut und nichts bemerkt. Irgendwie war es nur so eine kleine Sache, aber ich bin froh, dass es endlich behoben ist xD Ich habe einen Account auf Stackoverflow erstellt, nur um diesen Code zu reparieren :) – Xore

Verwandte Themen