Мне нужна помощь в этом скрипте. Я пытаюсь написать программу, где каждый элемент массива присваивается «точке». Я согласовал все массивы и присвоил их переменной. Массив проходит через оператор if для подсчета очков.логика условия оператора if
Для этого примера я пытаюсь получить в общей сложности 6. Однако, когда я запускаю программу, я получаю «2», а не «6» в журнале консоли. Как мне написать условие if, чтобы получить результат 6?
var zero = [1,2,3,5,7]; // 0
var one = [0,4,6,9]; // 1
var two = 8; //2
function calculate(){
var NUMBERS = zero.concat(one,two);
var TOTAL = 0; // 6
for(var i = 0; i < NUMBERS.length; i++){
if(NUMBERS[i] === one[i]){
TOTAL += 1;
}else if(NUMBERS[i] == two){
TOTAL +=2;
}else {
TOTAL += 0;
}
}
console.log(TOTAL);
}
calculate();
Почему вы хотите всего 6 ?? В чем логика? –
Пройдитесь через него в отладчике, встроенном в ваш браузер, и посмотрите на значения ваших переменных при прохождении кода. (Если вы не знаете, как это сделать, первое, что нужно сделать, это научиться делать это. :-)) Индексы в 'NUMBERS' отличаются от индексов в' one' и ' TOTAL + = 0' - нет-op (ничего не делает). –
Наконец: как можно ближе к логике (число 1 для каждой записи в 'NUMBERS', которая появляется в' one' и 2 для каждой записи в 'NUMBERS', которая равна' two'), вы получите 7, а не 6. 'NUMBERS'' '[1,2,4,5,7,0,4,6,9,8]'. Таким образом, каждый из них для '4,0,4,6,9' равен 5 плюс 2 для' 8' равен 7. –