2016-12-18 1 views
0

Идея следующего кода состоит в том, чтобы проверить, если любое число между 0 и 13 + любое другое число равно 13. Если один из двух номеров должен быть сохранен в другом массиве но по одному и тому же индексу. Поэтому у меня должно быть все возможные комбинации, чтобы достичь 13 в 2 массивах. Но когда я запускаю свой код, я получаю только две комбинации: 0 + 13 и 13 + 0. Вот код:Нужна помощь, чтобы исправить фрагмент из моего решателя решетки математической сетки

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

Несвязанный, но вам не нужно итерации 'j', потому что' j = 13 - i' – Oriol

ответ

0

Изменение index =+ 1 в index += 1

Тогда index =+ 1 устанавливает index к 1 это не увеличивает его на 1 (, как вы хотите)


См. Expressions and operators: Assignment operators MDN

+0

Большое спасибо. Я долго смотрел на свой код и ничего не замечал. С уважением, это была такая маленькая вещь, но я рад, что она наконец-то была исправлена. XD Я создал учетную запись на Stackoverflow, чтобы исправить этот код :) – Xore

Смежные вопросы