随机数上限/下限

时间:2019-10-16 14:35:59

标签: jquery

我想合并一个class MyModelViewSet(viewsets.ModelViewSet): serializer_class = MyModelSerializer def get_queryset(self): queryset = super().get_queryset() queryset = MyModel.objects.extra(select={'due_date_diff': 'due_date - final_due_date'}).extra(order_by=['-due_date_diff']) return queryset 变量来限制使用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));
});

1 个答案:

答案 0 :(得分:2)

仅当max大于限制时,将max的值设置为limit的值即可。

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

  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>