Возможно ли заменить switch в данном примере?

Как по мне сделать через объекты будет более лучше для производительности,и стилистики,но не могу понять как мне это сделать с данным примером,и можно ли его оптимизировать вообще?

switch (true) {
      case chanche >= 80 && chanche < 90:
        win = boxes[0];
        break;
      case chanche >= 90 && chanche < 95:
        win = boxes[1];
        break;
      case chanche >= 95 && chanche < 98:
        win = boxes[2];
        break;
      case chanche >= 98 && chanche <= 99:
        win = boxes[3];
        break;
      case chanche > 99:
        win = boxes[4];
        break;
      default:
        return;
    }

Ответы (1 шт):

Автор решения: t0lik

Что-то типа такого:

function getBox(chanche) {
  const checkPoints = [80,90,95,98,99]
  const boxes = [1,2,3,4,5]

  if (chanche > checkPoints[checkPoints.length-1]) {
    return boxes[boxes.length-1]
  }
  for(let i = 0; i < checkPoints - 1; i++) {
    if ((chanche >= checkPoints[i]) &&
        (chanche < checkPoints[i+1]) {
      return boxes[i]
    }
  }
}
→ Ссылка