Основная концепция устройства Даф заключается в том, что в каждом цикле можно вызвать функцию process()
не более 8 раз. Количество итераций цикла равно количеству элементов, разделённому на 8. Поскольку общее количество элементов не обязательно кратно 8, переменная startAt сохраняет остаток. Она указывает, сколько раз нужно выполнить process()
в первом цикле.
Например, если есть 12 элементов, то в первом цикле функция process()
будет вызвана 4 раза, а во втором — 8 раз, что заменяет выполнение 12 циклов.
startAt = items.length % 8,
i = 0;
do {
switch (startAt) {
case 0:
process(items[i++]);
case 7:
process(items[i++]);
case 6:
process(items[i++]);
case 5:
process(items[i++]);
case 4:
process(items[i++]);
case 3:
process(items[i++]);
case 2:
process(items[i++]);
case 1:
process(items[i++]);
}
startAt = 0;}
while (--iterations);```
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )