Я пытаюсь создать базовый цикл for, который будет перебирать аргументы функции. Может быть переменное количество аргументов, поэтому я использую встроенный объект «аргументы» для этой цели. Однако цикл for, вложенный в функцию, кажется, останавливается после первого индекса аргументов.
Я читал здесь несколько похожих запросов, в которых предлагалось указать переменную в цикле for, чтобы она была локальной для функции, а не глобальным значением, но, похоже, это тоже не сработало.
function tickets(){
var change = 0;
for(var j = 0;j < arguments.length; j++) {
if (arguments[j] == 25) {
return(change + 1);
}
else if(arguments[j] == 50) {
return(change - 1);
}
else {
return(change - 3);
}
}
}
console.log(tickets(25, 25 ,50, 25, 100))
Я ожидаю, что вышеприведенный код войдет в систему:
1
1
-1
1
-3
но вместо этого он просто возвращает 1, или что бы я ни изменил первое значение в списке аргументов. Это кажется очень простым, но я почесал голову - есть идеи?