dimakrugly / onix

1 stars 0 forks source link

`(currentActive + payLoad) % cartData.length` #42

Closed DmitriiMelnikOnix closed 1 year ago

DmitriiMelnikOnix commented 1 year ago
const newIndex = (currentActive + payLoad) % cartData.length < 0 ? cartData.length - 1
      : (currentActive + payLoad) % cartData.length;

Коли рекомендував користуватись %, забув що в різних мовах програмування трохи різна реалізація з відʼємними числами

В деяких -1%3 === -1 а в деяких -1%3 === 2

Щоб не писати знову умову на перевірку, можна ще трохи зхитрити (-1+3)%3 === 2 - в будь-якій мові програмування

const newIndex = (currentActive + payLoad + cartData.length) % cartData.length;

І навіть ніяких умов не потрібно

dimakrugly commented 1 year ago

зроблено