Случайное число макс / мин с лимитом - PullRequest
1 голос
/ 16 октября 2019

Я хотел бы включить переменную limit, чтобы ограничить случайное число, сгенерированное по формуле Math.floor(). В настоящее время функция выбирает число от min до max, но я хочу иметь возможность установить предел или потолок для сгенерированного числа var limit= 12;. Число может быть максимумом доступного количества, но не более чем предел.

$(".item").each(function() {
  var t = $(this);
  var max = parseFloat($(this).find(".available").text());
  var min = 1;
  var limit = 12;
  var qty = $(".qty");

  function generateRandomInteger(min, max) {
    return Math.floor(Math.random() * (max - min + 1) + min);
  }

  t.find(qty).val(generateRandomInteger(min, max));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="item">
  <div class="available">50</div>
  <input readonly class="qty"></div>
</div>
<div class="item">
  <div class="available">70</div>
  <input readonly class="qty"></div>
</div>
<div class="item">
  <div class="available">40</div>
  <input readonly class="qty"></div>
</div>

1 Ответ

2 голосов
/ 16 октября 2019

Просто установите значение max равным значению предела, когда max больше, чем предел.

$(".item").each(function() {
  var t = $(this);
  var max = parseFloat($(this).find(".available").text());
  var min = 1;
  var limit = 12;
  var qty = $(".qty");
  
  if(max > limit) {
    max = limit;
  }

  function generateRandomInteger(min, max) {
    return Math.floor(Math.random() * (max - min + 1) + min);
  }

  t.find(qty).val(generateRandomInteger(min, max));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="item">
  <div class="available">50</div>
  <input readonly class="qty"></div>
</div>
<div class="item">
  <div class="available">70</div>
  <input readonly class="qty"></div>
</div>
<div class="item">
  <div class="available">40</div>
  <input readonly class="qty"></div>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...