= index < arr.length ? (index + arr.length) % arr.length : -((index + arr.length) % arr.length)
Да я решил проверку в общем вынести, ну и степы вынести в массив. Остальное думаю так оставить. Закрутить конечно можно логику, но менее читабельно будет в таком случае, что тоже является хреновым тоном) const steps = [1, 2, 3]; const canChangeStep = nextStep => steps.includes(nextStep); /** * @param isForward bool - forward or backward direction */ const changeStep = (isForward) => { if (isForward && canChangeStep(stepInstruction + 1)) { setStepInstruction(stepInstruction + 1); } if (!isForward && canChangeStep(stepInstruction - 1)) { setStepInstruction(stepInstruction - 1); } };
Обсуждают сегодня