Я строю цикл для функции.
Функция loop
принимает значение, тестовую функцию, функцию обновления и функцию тела. Каждая итерация сначала запускает тестовую функцию для текущего значения цикла и останавливается, если она возвращает false. Затем он вызывает функцию body, присваивая ей текущее значение. В конце концов, он вызывает функцию обновления для создания нового значения и запускается с начала.
loop(10, n => n > 0, n => n - 1, console.log);
function loop(a, b, c, d) {
let currentValue = a;
let i;
for (i = 0; i < currentValue; i++) {
if (b(currentValue)) {
d(currentValue);
update(c);
function update(c) {
var executeUpdate = c(currentValue);
currentValue = executeUpdate;
};
} else {
return;
}
};
}
// OUTPUT: 10, 9, 8, 7, 6
Почему эта функция останавливается на 6
вместо 1
?